Associating mobile device operated by guest to media device for remotely initiating media device functionality at hospitality establishment

ABSTRACT

A QR code is caused to be displayed on a display device. The QR code encodes therein a URL including an address of an application store website at which a software application for a hospitality establishment can be downloaded by a mobile device, an application identifier for uniquely identifying the software application from other software applications provided by the application store, and a connect code parameter for uniquely identifying a media device with which the mobile device is to be associated. When the mobile device scans the QR code prior to installation of the software application, the mobile device is directed to the URL and the application store website ignores the connect code parameter. When the mobile device scans the QR code after installation of the software application, the software application prevents redirecting the mobile device to the application store website and instead authenticates using the connect code.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.17/193,242 filed Mar. 5, 2021, which is a divisional of U.S. patentapplication Ser. No. 16/008,293 filed Jun. 14, 2018, which is adivisional of U.S. patent application Ser. No. 14/633,309 filed Feb. 27,2015, which claims the benefit of Canadian Patent Application No.2,844,724 filed Mar. 4, 2014. All these applications are incorporatedherein by reference.

BACKGROUND OF THE INVENTION (1) Field of the Invention

The invention pertains generally to technology utilized to provide andaccess services at hospitality establishments. More specifically, theinvention relates to associating a mobile device operated by a guest ofa hospitality establishment to a media device for enabling the guest toremotely initiate media device functionality at the hospitalityestablishment.

(2) Description of the Related Art

Internet access is a service offered by many hospitality establishments.For example, an Internet café may offer Internet access to attractcustomers and a hotel may offer Internet access to attract and/or meetthe expectations of guests. Besides attracting users to further theestablishment's primary business focus, providing Internet access isoften also a revenue stream in and of itself; for instance, manyhospitality establishments offer tiered Internet options such as a“Basic” (free or low-cost) package with low bandwidth suitable forsimple email checking on a single device only, in addition to one ormore “Premium” (higher cost) packages that have increased bandwidthspeeds and/or other capabilities such as support for multiple devicesper user. Thus, although a hospitality establishment may specialize inanother service such lodging and/or retail food services, theestablishment also benefits financially from sales of its Internetaccess package(s).

One problem with the state of the art is that sometimes a user of ahospitality establishment may initially choose a lower valued (e.g.,free) Internet package only to later find that the attainable speeds atthat service entitlement are too slow for the user's intended onlineactivities. For example, after electing for the basic Internet option atinitial signup, a user may try to stream movies from an online contentprovider and discover that the video playback suffers from lowresolution and/or frequently pauses to buffer. Often the user may bewilling at this point to pay more to the hospitality establishment inorder to upgrade their Internet experience; however, it is typicallydifficult for an already-logged-in user to figure out how such anupgrade to a premium Internet package can be initiated.

One common approach to make users aware of the upgrade process is toprovide a welcome web page after a user first logs in that includeshypertext form buttons or links that the user can click to upgrade to ahigher speed Internet package by agreeing to an additional charge. Sincenewly logged in users are not usually interested in immediatelyupgrading, the welcome page typically includes a textual recommendationthat the user should bookmark in their web browser or otherwise save theuniform resource locator (URL) of the welcome page to thereby enable theuser to return in the future if an upgrade is desired.

Although a user returning to the welcome page URL does allow the user toperform a bandwidth upgrade, many users will not carefully read orbookmark the welcome page and will instead immediately browse toexternal websites as soon as they are logged in, thereby losing thecontent of the welcome screen. Should these users later desire toupgrade, they will not remember or be able to find the URL of thewelcome page, and the hospitality establishment will lose upgraderevenue if the user gives up.

Attempts have been made to make the upgrade process easier for usersinclined to ignore the initial welcome screen. In one attempt, aseparate, minimized browser window (e.g., a pop-up or pop-behind) isopened upon initial login that includes a bandwidth upgrade controlpanel. However, modern browsers by default block popups. Furthermore,even if the new window is allowed to be opened by the browser, manyusers ignore or immediately close new windows without considering theirpurpose.

Another attempt involves keeping the bandwidth upgrade options visibleto the user at all time during browsing by forcing the user to browsethe web within a hypertext markup language (HTML) frame. Outside theborder of the frame but still visible within the browser content windoware Internet package upgrade buttons. However, this method isundesirable at least because many websites do not operate properly whenviewed within a frame and some websites specifically include JavaScriptto “break out” of any such enclosing frames since it is a security risk.Furthermore, many mobile devices capable of Internet browsing have smallscreen resolutions and it is undesirable to constantly occupy valuablescreen space with upgrade buttons that are, for many users, never used.

Another attempt involves dynamically hijacking the user's HTTPconnections in order to insert extra HTML and/or JavaScript to provideInternet upgrade options at certain times while the user is browsing theweb. For example, an intermediate device such as a gateway at the hotelpositioned between the client device and a web server on the Internetmay insert an “upgrade Internet access” button or message to that effectin the HTML content of a web page that is being sent to the clientdevice for display in the web browser. Alternatively, rather thanmodifying web page content, the web page content may be completelyreplaced with a redirect back to the establishment's welcome page atvarious points during the user's Internet session in order to see if theuser wishes to upgrade.

However, in addition to the fact that interfering with the user's webtraffic in these manners is difficult to do without also breaking theuser's existing web sessions, these techniques provide no benefit at allwhen the user's browser is employing a hypertext transfer protocolsecure (HTTPS) connection. The very purpose of HTTPS is to maintain thesecurity and integrity of webpage content and web sessions; it is notpossible for an intermediate gateway device to hijack these encryptedsessions to insert content or redirect the user in a way that will notcause the user's browser to display prominent security warnings.

At best modifying web content as it is passed to the client device fordisplay in a web browser could only work if the user has requested toview an unencrypted web page for display in a web browser. In practice,many mobile devices run other applications such as custom contentprovider apps that are not web browsers but that receive (or send) largeamounts of data from the Internet such as when playing an online moviewithin the app. Modifying network traffic destined to these apps by anintermediate gateway would not necessarily result in the user seeing anyInternet upgrade messages and may instead cause the app to crash ormerely display a cryptic error message due to the unrecognized datainserted by the gateway.

It would be desirable for a hospitality establishment to be able tooffer users an easy way to upgrade their Internet session withoutrequiring the user to take any unrealistic actions such as bookmarkingor saving the URL of a welcome page and without resorting to hijackingthe user's ongoing network connections.

BRIEF SUMMARY OF THE INVENTION

According to an exemplary embodiment of the invention, disclosed is amethod including communicating over a network with a softwareapplication installed and running on a mobile device. While running onthe mobile device, the software application allows a user of the mobiledevice to interact with a user interface of the mobile device in orderto access a first service offered by a hospitality establishment. Themethod further includes receiving a device token from the softwareapplication. The device token identifies the mobile device for use whenpushing notification messages associated with the software applicationto the mobile device via a push notification system. The method furtherincludes determining that the mobile device is accessing, with a limitedservice entitlement, a second service offered by the hospitalityestablishment. The second service is independent from the softwareapplication meaning that the mobile device can access the second servicewithout running the software application. The method further includesmonitoring the mobile device's usage of the second service in order todetect a predetermined condition that indicates that the user maybenefit from the mobile device gaining access to the second service withan upgraded service entitlement. The method further includes sending anotification message to the device token via the push notificationsystem in response to detecting the predetermined condition. Thenotification message invites the user of the mobile device to upgradefrom the limited service entitlement to the upgraded service entitlementfor the second service, and the push notification system alerts the userto the notification message via the user interface of the mobile deviceeven when the software application is not running on the mobile device.

According to another exemplary embodiment of the invention, disclosed isan apparatus including one or more processors configured to communicateover a network with a software application installed and running on amobile device. While running on the mobile device, the softwareapplication allows a user of the mobile device to interact with a userinterface of the mobile device in order to access a first serviceoffered by a hospitality establishment. The one or more processors arefurther configured to receive a device token from the softwareapplication. The device token identifies the mobile device for use whenpushing notification messages associated with the software applicationto the mobile device via a push notification system. The one or moreprocessors are further configured to determine that the mobile device isaccessing, with a limited service entitlement, a second service offeredby the hospitality establishment. The second service is independent fromthe software application meaning that the mobile device can access thesecond service without running the software application. The one or moreprocessors are further configured to monitor the mobile device's usageof the second service in order to detect a predetermined condition thatindicates that the user may benefit from the mobile device gainingaccess to the second service with an upgraded service entitlement. Theone or more processors are further configured to send a notificationmessage to the device token via the push notification system in responseto detecting the predetermined condition. The notification messageinvites the user of the mobile device to upgrade from the limitedservice entitlement to the upgraded service entitlement for the secondservice. The push notification system alerts the user to thenotification message via the user interface of the mobile device evenwhen the software application is not running on the mobile device.

According to another exemplary embodiment of the invention, disclosed isa system including means for communicating over a network with asoftware application installed and running on a mobile device. Whilerunning on the mobile device, the software application allows a user ofthe mobile device to interact with a user interface of the mobile devicein order to access a first service offered by a hospitalityestablishment. The system further includes means for receiving a devicetoken from the software application. The device token identifies themobile device for use when pushing notification messages associated withthe software application to the mobile device via a push notificationsystem. The system further includes means for determining that themobile device is accessing, with a limited service entitlement, a secondservice offered by the hospitality establishment. The second service isindependent from the software application meaning that the mobile devicecan access the second service without running the software application.The system further includes means for monitoring the mobile device'susage of the second service in order to detect a predetermined conditionthat indicates that the user may benefit from the mobile device gainingaccess to the second service with an upgraded service entitlement. Thesystem further includes means for sending a notification message to thedevice token via the push notification system in response to detectingthe predetermined condition, the notification message inviting the userof the mobile device to upgrade from the limited service entitlement tothe upgraded service entitlement for the second service. The pushnotification system alerts the user to the notification message via theuser interface of the mobile device even when the software applicationis not running on the mobile device.

According to another exemplary embodiment of the invention, disclosed isa method including establishing communications with an applicationrunning on a mobile device and determining with which of a plurality ofguest rooms of a hospitality establishment the mobile application isassociated. The method further includes storing a record of theassociation in a storage device and allowing the guest to control one ormore in-room entertainment devices in dependence upon commands receivedfrom the mobile application running on the mobile device. The methodfurther includes receiving a message from a bandwidth monitor, themessage indicating that bandwidth usage of a particular user is within apredetermined threshold bandwidth level of its maximum allowable; anddetermining that the particular user is associated with the mobiledevice. The method further includes sending a bandwidth upgrade messageto the mobile device, the bandwidth upgrade message causing theapplication running on the mobile device to present a billing screenenabling the user to upgrade the maximum allowable bandwidth for amonetary charge. The method further includes upgrading the user'sbandwidth in response to receiving an upgrade command from theapplication running on the mobile device indicating that the user haschosen to upgrade their bandwidth.

According to another exemplary embodiment of the invention, disclosed isa method of upgrading high speed Internet access (HSIA) via anaudio-visual entertainment system at a hospitality establishment. Themethod includes allowing a guest of the hospitality establishment toaccess a network service from at least one mobile device, limitingaccess to the network service for the guest according to a first serviceentitlement, and monitoring usage of the network service by the guest inorder to detect an occurrence of a predetermined condition indicatingthat the guest may benefit from accessing the network service at ahigher service entitlement. The method further includes selecting aparticular display device from a plurality of display devices availableto the audio-visual entertainment system of the hospitalityestablishment upon the occurrence of the predetermined condition, theparticular display device being selected according to room assignmentdetails of the guest at the hospitality establishment, and sending adisplay message to the particular display device, the display messagecausing the particular display device to present a billing screen to theguest enabling the user to upgrade, for a monetary charge, theirInternet package in order to remove the predetermined limitation. Themethod further includes upgrading the Internet package of the guest inresponse to receiving an upgrade acknowledgement indicating that theguest has chosen to upgrade their Internet package.

According to another exemplary embodiment of the invention, disclosed isa method of upgrading a network access service entitlement via anaudio-visual entertainment system at a hospitality establishment. Themethod includes allowing a guest of the hospitality establishment toaccess a network service from at least one mobile device, limitingaccess to the network service for the guest according to a first serviceentitlement, and monitoring usage of the network service by the guest inorder to detect an occurrence of a predetermined condition indicatingthat the guest may benefit from accessing the network service at ahigher service entitlement. The method further includes selecting aparticular display device from a plurality of display devices availableto the audio-visual entertainment system of the hospitalityestablishment upon the occurrence of the predetermined condition, theparticular display device being selected according to room assignmentdetails of the guest at the hospitality establishment, and sending adisplay message to the particular display device, the display messagecausing the particular display device to present a billing screen to theguest enabling the guest to upgrade, for a monetary charge, their accessto the network service. The method further includes upgrading the guestto a second service entitlement for accessing the network service inresponse to receiving an upgrade acknowledgement indicating that theguest has chosen to upgrade.

According to another exemplary embodiment of the invention, disclosed isa non-transitory processor-readable medium comprising processorexecutable a plurality of instructions that when executed by one or moreprocessors cause the one or more processors to perform steps of allowinga guest of a hospitality establishment to access a network service fromat least one mobile device, limiting access to the network service forthe guest according to a first service entitlement, and monitoring usageof the network service by the guest in order to detect an occurrence ofa predetermined condition indicating that the guest may benefit fromaccessing the network service at a higher service entitlement. The stepsfurther includes selecting a particular display device from a pluralityof display devices available to an audio-visual entertainment system ofthe hospitality establishment upon the occurrence of the predeterminedcondition, the particular display device being selected according toroom assignment details of the guest at the hospitality establishment,sending a display message to the particular display device, the displaymessage causing the particular display device to present a billingscreen to the guest enabling the guest to upgrade, for a monetarycharge, their access to the network service, and upgrading the guest toa second service entitlement for accessing the network service inresponse to receiving an upgrade acknowledgement indicating that theguest has chosen to upgrade.

According to another exemplary embodiment of the invention, disclosed isan apparatus for upgrading a network access service entitlement via anaudio-visual entertainment system at a hospitality establishment. Theapparatus includes one or more processors configured by executing aplurality of software instructions loaded from a storage device to allowa guest of the hospitality establishment to access a network servicefrom at least one mobile device, limit access to the network service forthe guest according to a first service entitlement, and monitor usage ofthe network service by the guest in order to detect an occurrence of apredetermined condition indicating that the guest may benefit fromaccessing the network service at a higher service entitlement. The oneor more processors are further configured to select a particular displaydevice from a plurality of display devices available to the audio-visualentertainment system of the hospitality establishment upon theoccurrence of the predetermined condition, the particular display devicebeing selected according to room assignment details of the guest at thehospitality establishment. The one or more processors are furtherconfigured to send a display message to the particular display device,the display message causing the particular display device to present abilling screen to the guest enabling the guest to upgrade, for amonetary charge, their access to the network service. The one or moreprocessors are further configured to upgrade the guest to a secondservice entitlement for accessing the network service in response toreceiving an upgrade acknowledgement indicating that the guest haschosen to upgrade.

According to another exemplary embodiment of the invention, disclosed isan apparatus for leveraging push notification capabilities available viaa software application installed on a mobile device to dynamicallyupgrade a network service entitlement for a different device. Theapparatus includes one or more network interfaces, one or more storagedevices, and one or more processors. By the one or more processorsexecuting software instructions loaded from the one or more storagedevices, the one or more processors are configured to communicate viathe one or more network interfaces with the software applicationinstalled and running on the mobile device. In response to communicatingwith the software application, the one or more processors are configuredto receive a device token from the software application, the devicetoken identifying the mobile device for use to push notificationmessages associated with the software application to the mobile devicevia a push notification system. The one or more processors are furtherconfigured to store an association between the device token identifierand a user identifier in the one or more storage devices, monitor usageof a network service by an other device in order to detect apredetermined condition, the other device being different than themobile device, and in response to detecting the predetermined condition,query the one or more storage devices in order to determine that theother device is associated with the user identifier. In response todetermining that the other device is associated with the useridentifier, the one or more processors are configured to send anotification message addressed to the device token via the pushnotification system. Upon receipt by the mobile device, the notificationmessage is thereafter displayed by a user interface of the mobile deviceeven when the software application is not running on the mobile device.The one or more processors are further configured to receive an upgradecommand from the mobile device in response to the user interacting withthe notification message displayed on the user interface of the mobiledevice, and, in response to receiving the upgrade command, reconfigureone or more devices to change the network service for the other devicefrom a first entitlement to a second, upgraded entitlement.

According to another exemplary embodiment of the invention, disclosed isa method of leveraging push notification capabilities available via asoftware application installed on a mobile device to dynamically upgradea network service entitlement for a different device. The methodincludes communicating by at least one computer server with the softwareapplication installed and running on the mobile device, and, in responseto communicating with the software application, receiving, by the atleast one computer server, a device token from the software application.The device token identifies the mobile device for use by the at leastone computer server to push notification messages associated with thesoftware application to the mobile device via a push notificationsystem. The method further includes storing an association between thedevice token identifier and a user identifier in one or more storagedevices, and monitoring, by the at least one computer server, usage of anetwork service by an other device in order to detect a predeterminedcondition, the other device being different than the mobile device. Themethod further includes, in response to detecting the predeterminedcondition, querying the one or more storage devices by the at least onecomputer server in order to determine that the other device isassociated with the user identifier, and, in response to determiningthat the other device is associated with the user identifier, sending,by the at least one computer server, a notification message addressed tothe device token via the push notification system. Upon receipt by themobile device, the notification message is thereafter displayed by auser interface of the mobile device even when the software applicationis not running on the mobile device. The method further includesreceiving, by the at least one computer server, an upgrade command fromthe mobile device in response to the user interacting with thenotification message displayed on the user interface of the mobiledevice, and, in response to receiving the upgrade command,reconfiguring, by the at least one computer server, one or more devicesto change the network service for the other device from a firstentitlement to a second, upgraded entitlement.

According to another exemplary embodiment of the invention, disclosed isa non-transitory processor-readable medium comprising a plurality ofprocessor-executable instructions that when executed by one or moreprocessors cause the one or more processors to perform steps ofcommunicating with a software application installed and running on amobile device, and, in response to communicating with the softwareapplication, receiving a device token from the software application. Thedevice token identifies the mobile device for use to push notificationmessages associated with the software application to the mobile devicevia a push notification system. The steps further include storing anassociation between the device token identifier and a user identifier inone or more storage devices, monitoring usage of a network service by another device in order to detect a predetermined condition, the otherdevice being different than the mobile device, and, in response todetecting the predetermined condition, querying the one or more storagedevices in order to determine that the other device is associated withthe user identifier. The steps further include, in response todetermining that the other device is associated with the useridentifier, sending a notification message addressed to the device tokenvia the push notification system. Upon receipt by the mobile device, thenotification message is thereafter displayed by a user interface of themobile device even when the software application is not running on themobile device. The steps further include receiving an upgrade commandfrom the mobile device in response to the user interacting with thenotification message displayed on the user interface of the mobiledevice, and, in response to receiving the upgrade command, reconfiguringone or more devices to change the network service for the other devicefrom a first entitlement to a second, upgraded entitlement.

According to another exemplary embodiment of the invention, disclosed isa system for associating a mobile device operated by a guest to a mediadevice for remotely initiating media device functionality at ahospitality establishment. The system includes a plurality of displaydevices, a plurality of media devices, and one or more computingprocessors. By executing a plurality of software instructions loadedfrom a storage device, the one or more computing processors areconfigured to cause a QR code to be displayed on a display device of theplurality of display devices. The QR code encodes therein a uniformresource locator (URL) including an address portion being an applicationstore website at which a software application for use at the hospitalityestablishment can be downloaded by the mobile device, an applicationidentifier parameter specifying an application identifier for uniquelyidentifying the software application from a plurality of other softwareapplications provided by the application store website, and a connectcode parameter specifying a connect code for uniquely identifying amedia device with which the mobile device is to be associated from theplurality of media devices at the hospitality establishment. The one ormore computing processors are further configured to receive the connectcode from the mobile device. When a camera of the mobile device scansthe QR code prior to installation of the software application, themobile device is directed to the uniform resource locator (URL) toobtain the software application and the application store websiteignores the connect code parameter; and, when the camera of the mobiledevice scans the QR code after installation of the software application,the software application prevents redirecting the mobile device to theapplication store website and instead attempts authentication by sendingthe connect code to the one or more computing processors. The one ormore computing processors are further configured to determine the mediadevice with which the mobile device is to be associated according to theconnect code received from the mobile device, and enable remote controlfunctionality between the mobile device and the media device, wherebythe mobile device can thereafter remotely initiate one or more functionsof the media device.

According to another exemplary embodiment of the invention, disclosed isa control server for associating a mobile device operated by a guest toa media device for remotely initiating media device functionality at ahospitality establishment. The control server includes one or morenetwork interfaces for coupling to a plurality of display devices, aplurality of media devices, and the mobile device; one or more storagedevices storing therein a plurality of software instructions; and one ormore processors coupled to the one or more network interfaces and theone or more storage devices. By executing the plurality of softwareinstructions loaded from the storage device, the one or more processorsare configured to cause a QR code to be displayed on a display device ofthe plurality of display devices. The QR code encodes therein a uniformresource locator (URL) including an address portion being an applicationstore website at which a software application for use at the hospitalityestablishment can be downloaded by the mobile device, an applicationidentifier parameter specifying an application identifier for uniquelyidentifying the software application from a plurality of other softwareapplications provided by the application store website, and a connectcode parameter specifying a connect code for uniquely identifying amedia device with which the mobile device is to be associated from theplurality of media devices at the hospitality establishment. The one ormore processors are further configured to receive the connect code fromthe mobile device. When a camera of the mobile device scans the QR codeprior to installation of the software application, the mobile device isdirected to the uniform resource locator (URL) to obtain the softwareapplication and the application store website ignores the connect codeparameter; and, when the camera of the mobile device scans the QR codeafter installation of the software application, the software applicationprevents redirecting the mobile device to the application store websiteand instead attempts authentication by sending the connect code to thecontrol server. The one or more processors are further configured todetermine the media device with which the mobile device is to beassociated according to the connect code received from the mobiledevice, and enable remote control functionality between the mobiledevice and the media device, whereby the mobile device can thereafterremotely initiate one or more functions of the media device.

According to another exemplary embodiment of the invention, disclosed isa method of associating a mobile device operated by a guest to a mediadevice for remotely initiating media device functionality at ahospitality establishment. The method is performed by one or morecomputing processors and includes causing a QR code to be displayed on adisplay device of a plurality of display devices at the hospitalityestablishment. The QR code encodes therein a uniform resource locator(URL) including an address portion being an application store website atwhich a software application for use at the hospitality establishmentcan be downloaded by the mobile device, an application identifierparameter specifying an application identifier for uniquely identifyingthe software application from a plurality of other software applicationsprovided by the application store website, and a connect code parameterspecifying a connect code for uniquely identifying a media device withwhich the mobile device is to be associated from the plurality of mediadevices at the hospitality establishment. The method further includesreceiving the connect code from the mobile device. When a camera of themobile device scans the QR code prior to installation of the softwareapplication, the mobile device is directed to the uniform resourcelocator (URL) to obtain the software application and the applicationstore website ignores the connect code parameter; and, when the cameraof the mobile device scans the QR code after installation of thesoftware application, the software application prevents redirecting themobile device to the application store website and instead attemptsauthentication by sending the connect code to the one or more computingprocessors. The method further includes determining the media devicewith which the mobile device is to be associated according to theconnect code received from the mobile device, and enabling remotecontrol functionality between the mobile device and the media device,whereby the mobile device can thereafter remotely initiate one or morefunctions of the media device.

In an advantageous embodiment of the invention, a system leverages apush notification capability of a mobile application installed on amobile device and used by a guest of a hospitality establishment toaccess a first service offered by the hospitality establishment to alsosend event-triggered invitations to upgrade the guest's serviceentitlement for a second service offered by the hospitalityestablishment.

In an advantageous embodiment of the invention, a system leverages apush notification capability of a mobile application installed on amobile device and used by a guest of a hospitality establishment toaccess a first service offered by the hospitality establishment to alsosend event-triggered invitations to upgrade the guest's serviceentitlement for Internet access.

These and other advantages of the present invention will no doubt becomeapparent to those of ordinary skill in the art after reading thefollowing detailed description of the preferred embodiment that isillustrated in the various figures and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described in greater detail with reference to theaccompanying drawings which represent preferred embodiments thereof

FIG. 1 illustrates a block diagram of a system for notifying a user ofInternet access upgrade possibilities via a room control applicationrunning on the user's mobile device according to an exemplary embodimentof the invention.

FIG. 2 shows a block diagram of a control server for implementing themedia device controller, the high speed Internet access (HSIA)controller, and the local app server of FIG. 1.

FIG. 3 shows a portion of the stored data in the storage media of FIG.2.

FIG. 4 illustrates a push notification setup displayed on a screen of amobile device when the hotel's room control app is initially runaccording to an exemplary embodiment of the invention.

FIG. 5 illustrates the contents of the screen while the user isattempting to stream an online video using a web browser applicationwhile at an insufficient Internet access service entitlement.

FIG. 6 illustrates the touchscreen of the user's mobile phone after theuser has completed the upgrade in response to receiving the pushnotification message.

FIGS. 7, 8 and 9 together illustrate a flowchart describing a method ofhow the system of FIG. 1 leverages the push notification capabilities ofthe hotel's room control app to also send event-triggered invitations toupgrade the HSIA service entitlement in response to detecting that auser may benefit from such an upgrade according to an exemplaryembodiment of the invention.

FIG. 10 illustrates a flowchart describing a method of inviting a userto upgrade Internet access at a hospitality establishment according toan exemplary embodiment of the invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 100 according to an exemplary embodiment ofthe invention. In this embodiment, the system 100 allows guests of ahospitality establishment 102 to utilize mobile devices 122 to accessmultiple services offered by the hospitality establishment. Tofacilitate description of an advantageous usage, the hospitalityestablishment 102 in this embodiment is a lodging establishment such asa hotel or resort and the system 100 enables guests to utilize theirpersonal mobile devices 122 to access at least two services offered bythe lodging establishment: a) remote control of in-room devices in theuser's assigned guest room and b) Internet access. It is to beunderstood that other embodiments with other types of hospitalityestablishments and services are also possible.

As shown in FIG. 1, the hotel 102 in this embodiment includes a mediadevice controller 104, a high speed Internet access (HSIA) controller106, and a local app server 108 a coupled to a local area network (LAN)110. The media device controller 104 is coupled to a plurality ofin-room devices including set-top boxes 112, video projectors 114, andtelevisions (TVs) 116; the HSIA controller 106 is coupled to theInternet 120, and the local app server 108 a is coupled to a propertymanagement system (PMS) 118 that manages various information at thehotel 102 such as guest room-assignments and folios.

Coupled to the Internet 120 are a push notification gateway 128, acentral app server 108 b, and a plurality of external web servers 130offering what is commonly referred to as the World Wide Web. A telecomgateway 132 is also coupled between the Internet 120 and a telecom phonenetwork 134 which may be a 3^(rd) or 4^(th) generationtelecommunications mobile network for example.

One or more guests staying at the hotel 102 in this example have broughtto the hotel 102 a plurality of mobile devices 122 including a mobilephone 122 a, a tablet computer 122 b, a laptop computer 122 a, andpossibly other mobile devices 122 d. Employing wireless or wiredconnections, the mobile devices 122 are coupled to the hotel's LAN 110via one or more wireless access points 124 and Ethernet ports 126.

A cell phone tower 136 transmits and receives wireless signals such asaccording to the global system for mobile (GSM) communications oranother protocol and is in communication with mobile phone 122 a withinsignal range of the tower 136. Both data and voice traffic may becarried via these cell phone signals.

Again, assuming the hospitality establishment 102 in this embodiment isa hotel, one service that is made available by the hotel 102 is remotecontrol of in-room entertainment devices and other entertainmentfeatures such as free-to-guest (FTG) television channels,video-on-demand (VOD), and personal media streaming and sharing etc. Ifusers so desire, they may download and install on their mobile devices122 a software application 140 (hereinafter hotel's “app” 140) thatallows the users of these devices 122 to, among other functions,remotely operate the STB 112, projector 114 and TV 116 in their assignedguest room by interacting with the user interface (UI) on the mobiledevice 122 running the hotel's app 140.

As shown in FIG. 1, in this embodiment there is both a local app server108 a on hotel LAN 110 and a central app server 108 b on the Internet120. The two app servers 108 a,b are in communication with each otherand work in tandem with each other in this configuration. Mobile devices122 running app 140 that are not on the hotel's LAN 110 communicate withthe central app server 108 b via the telecom phone network 134 and/orthe Internet 120; similarly, mobile devices 122 running app 140 that areon the hotel's LAN 110 communicate with the local app server 108 a viathe hotel's LAN 110. Local and central user profile server 108 a,b mayalso act as redundancy/backup for the other; e.g., the apps 140 on thevarious mobile devices 122 may by default communicate with central appserver 108 b, but in the event that this is not possible because thehotel's 102 connection to Internet 120 goes down for example, the apps140 which are running on mobile devices 122 on local LAN 110automatically begin to communicate with local app server 108 a andfunctionality is still available for guests at the hotel 102. Likewise,if the central app server 108 b experiences a problem, mobile devices122 on hotel LAN 110 may fall back to the local app server 108 a.

In other configurations, there may only be one of the local app server108 a or the central app server 108 b present in system 100. Forexample, assuming only central app server 108 b is present, both deviceson and off hotel LAN 110 communicate with the central app server 108 bvia the Internet 120. Having at least a central app server 108 b coupledto the Internet 120 present in the system 100 is beneficial in the eventthat the app 140 provides functionality to users even when the user isoutside of the hospitality establishment 102. Alternatively, if the app140 only provides useful functionality while the user is at a singlehospitality establishment 102, it may be beneficial to only include alocal app server 108 a present on the LAN 110 of that single hospitalityestablishment. In the following description, unless explicitly statedotherwise, reference to the local and central app servers 108 a,b shouldbe taken as example configurations whereas other configurations utilizethe other the local/central app server 108 a,b in a similar manner.Likewise, reference to ‘the app server 108’ in general should be takento mean any of the local/central app server 108 a,b depending on whetherboth or only one are/is present in the desired configuration of system100.

An example usage scenario of an embodiment with reference to FIG. 1 isas follows:

By installing and running the hotel's room control app 140 on mobilephone 122 a, a guest assigned to a particular room (e.g., “room 101”) ofthe hotel 102 may change the channels and volume of the TV 116 in thatparticular room by interacting with the touchscreen on mobile phone 122a. The app 140 communicates with the media device controller 104 via LAN110 in order to send commands such as “channel up” and “volume up” fromthe mobile phone 122 a to the various in-room devices 112, 114, 116. Themedia device controller 104 ensures that mobile phone 122 a is only ableto remotely operate and control the in-room media devices 112, 114, 116in the particular guest room of the hotel that is assigned to the userof the mobile phone 122 a, i.e., “room 101” in this example. The mobilephone 122 a communicates with the media device controller 104 via AP124/Ethernet port 126 and LAN 110, or alternatively via cell tower 136and telecom phone network 134 and back into the hotel 102 via thehotel's HSIA controller 106.

In this embodiment, when the user first installs and runs app 140 on amobile device 122, the app 140 displays a notification permission screenon the device's 122 UI so that the user can allow push notifications forthe app 140. For example, the screen may display something similar to:

“'Hotel room control app' Would like to Send You PushNotifications—Notifications may include alerts, sounds and icon badgecounts. These can be configured in Settings.”

In response, the user then must press either one of two buttons: “Don'tAllow” or “OK”.

Assuming the user enables push notifications on mobile phone 122 a, theapp 140 thereafter sends a push notification device token to the appserver 108. The device token received from the mobile device 122 issaved by the app server 108 along with the media access control (MAC)and/or Internet Protocol (IP) address of the mobile device 122 asassigned on LAN 110. The device token identifies the mobile device 122for use when later sending a push notification to the mobile device viapush notification gateway 128.

Another service that is made available to the guests by the hotel 102 inthis embodiment is Internet access. The mobile devices 122 of the userin the particular room (e.g., “room 101”) are individually or as a groupauthorized to access the Internet 120 according to various serviceentitlements as controlled by the HSIA controller 106. For example, uponthe guest's arrival and/or check-in at the hotel 102, the mobile devices122 of that guest may each be given access to the Internet 120 by theHSIA controller 106 at a basic service entitlement that is offered tocurrent guests free of charge. Alternatively, the user may perform anonline login process with the HSIA controller 106 to make a payment orconfirm a purchase to thereby gain access to the Internet 120 at thebasic service entitlement.

As the basic service entitlement will not be sufficient for the needs ofsome guests, one or more additional higher service entitlement(s) withgreater bandwidth allocations, support for multiple simultaneous devicesper user, static global (public) IP addresses, and/or other enhancedfeatures are also offered by the HSIA controller 106 for variouspredetermined monetary charges. For example, a premium Internet packagemay offer ten times the bandwidth of the basic service entitlement for acharge of $4.99 per day. Although the premium package(s) are available,for illustration purposes in this example, the user is assumed toinitially only take the basic service entitlement.

As the user surfs the web, the HSIA controller 106 in the backgroundmonitors certain aspects of the Internet service with respect to theuser's mobile device(s) 122 in order to detect one or more predeterminedconditions that represents that an upgrade to a higher HSIA serviceentitlement may be beneficial to the user. When one of thesepredetermined conditions occurs, the app server 108 sends via the pushnotification gateway 128 a a push notification message to the devicetoken that was received from the app 140 previously running on themobile device 122. The push notification gateway 128 in response pushesthe notification message down to the app 140 and/or operating system(OS) running on the mobile device 122 identified by the device token.The content of the push notification messages includes an invitation forthe user to upgrade their Internet service entitlement to a higherlevel. Links, buttons and/or instructions for how this upgrade can beinitiated may also be included.

Assuming the app 140 is not running at the time, the OS on the mobiledevice 122 receives the push notification message from gateway 128 andalerts the user to the presence of the new message through one or morepush notification alert indicators 530 a,b,c, which may include textmessages, pop-up windows, icons, badges and counts, audio tones,vibrations, or any other mechanism as supported by the mobile device andconfigured by the user in the app 140's and/or the OS's setup screens.

In this way, if the user attempts to stream a movie on the Internet 120to mobile phone 122 a while on the basic service entitlement, the mobilephone 122 a will reach (or come within a threshold of) the bandwidthlimit of the basic service entitlement. The HSIA controller 106 detectsthis condition and sends a push notification message to the mobile phone122 a via the push notification gateway 128 inviting the user to upgradeto the premium Internet package. The OS running on the mobile devicealerts the user of the mobile phone 122 a to the existence of the pushnotification message in real-time as soon as the message is received bydisplaying an alert window 530 a regardless of whether or not thehotel's app 140 is currently running. By the user clicking or otherwiseopening the displayed alert 530 a, the app 140 either presents anInternet control panel for the user or opens a new window in the user'sweb browser at the URL of the hotel's HSIA welcome web page therebyallowing the user to upgrade their Internet access service entitlement.An advantage is that the system 100 leverages the push notificationcapabilities of hotel's app 140 to also send event-triggered invitationsto upgrade the guest's Internet access at the hotel 102.

FIG. 2 shows a block diagram of a control server 200 implementing thecombined functionality of the media device controller 104, the HSIAcontroller 106, and the local app server 108 a of FIG. 1. In thisembodiment, the control server 200 is a computer sever including one ormore processor(s) 202, a clock chip 204, a first network interface 206coupled to the LAN 110, a second network interface 208 coupled to theInternet 120, and storage media 210 such as hard disk drives, randomaccess memory (RAM), and/or flash storage device(s). The storage media210 stores various software modules including modules for performingfunctions of the app server 108, an HSIA controller 106, and a mediadevice controller 104 of FIG. 1 in addition to other complementaryfunctionality of a bandwidth manager 218, a gateway/firewall 220, and aPMS interface 222. The storage media 210 also stores a variety of storeddata 224 that is utilized by the various modules 212, 214, 216, 218, 220when performing their functions. In the following description the pluralform of the word “processors” is utilized as it is common for a CPU of acomputer server to have multiple processors 202 (sometimes also referredto as cores); however, it is to be understood that a single processor202 may also be configured to perform the described functionality inother implementations.

FIG. 3 shows a portion of the stored data 224 in storage media 210. Inthis example, the illustrated portion is organized as a database tableincluding a separate row for each different mobile device 122. A “MACaddress” column 300 stores the MAC address of the mobile device 122; an“IP address” column 302 stores the IP address currently assigned to themobile device 122 on hotel LAN 110; a “user identifier” column 304stores the loyalty program member identifier or another user identifiercorresponding to the user who is operating the mobile device 122; a“device token” column 306 identifies the mobile device for use whensending a push notification message related to app 140 via the pushnotification gateway 128; and a plurality of “HSIA service” columns 308store settings related to the Internet service that is currently appliedto the mobile device 122 by the HSIA controller 106.

The HSIA service settings 308 in this example include a “login expiry”column 310 storing the date and time that the mobile device'sentitlement to the Internet will be cut off by the HSIA controller 106;a “service entitlement” column 312 storing the entitlement level (i.e.,either “Free” or “Premium” in this example); a “max number of devices”column 314 storing the number of mobile devices 122 that the user isentitled to simultaneously access the Internet 120; and a “bandwidthallocation” column 316 storing the maximum download bandwidth to whichthe mobile device 122 is entitled. Other columns (not shown) may also bestored such as a “room number” column storing the hotel guest roomnumber to which the user of the mobile device is currently assigned athotel 102 and/or an “upload bandwidth allocation” storing the maximumupload bandwidth to which the mobile device 122 is entitled if it isdifferent than the download entitlement.

In this embodiment the system only supports a single push notificationsystem; however, another column (not shown) in FIG. 3 may store the typeof push notification system to use for a particular mobile deviceaccording to different identifiers for different push notificationsystem types. Examples of different push notification systems includethose for use with different brands of operating system such as iOS®,Android®, Blackberry®, Windows Metro®, etc. Each mobile device 122 maysupport a different push notification system according to its brandand/or OS type, and a “Push notification type” column may be added toFIG. 3 in that event that system 100 supports multiple types of pushnotification systems.

In this description, push notification system refers to the variousseparate elements that together allow push notifications to be deliveredto a mobile device 122 of a particular brand. For example, in Apple'siOS push notification system there are elements of the push notificationsystem running within the OS of the mobile device 122 as well as anexternal Apple Push Notification Server (APNS), for example, pushnotification gateway 128 in FIG. 1. The Apple iOS push notificationsystem also requires network or other communication path(s) between theapp server 108 to the push notification gateway 128 to the mobile device122 identified by the device token. For example, as shown in FIG. 1 thecommunications paths are provided in this embodiment by the Internet120, telecom phone network 134 and/or hotel LAN 110 in FIG. 1. As thetechnical details of various push notification systems for differentbrands and types of mobile devices 122 are well known, further detailsare omitted herein for brevity.

FIG. 4 illustrates a push notification setup displayed on a screen 400of a mobile device 122 when the hotel's room control app 140 isinitially run according to an exemplary embodiment of the invention. Forthe following description, it will be assumed that the screen 400 is atouchscreen and the mobile device is mobile phone 122 a. The user mayboth see and make changes to the settings using touchscreen 400; forexample, the user may change settings by swiping or pressing the user'sfingers against the touchscreen 400. On other types of mobile devices122 without touchscreens, a similar screen may also be displayed andinteracted with by the user utilizing other UI controls such as physicalkeyboards and buttons.

As illustrated in FIG. 4, the touchscreen 400 displays a setup window410 of the hotel's room control app 140. The setup window 410 ispresented to the user upon the first time the app 140 is run after beinginstalled on the mobile phone 122 a. One reason to present the pushnotification setup window 410 upon initial run is to allow the user toverify that push notifications are desired and allow the desired alerttypes to be configured. Some users may wish to deactivate one or moreforms of push notification alerts for privacy reasons or simply due topersonal preference such as to avoid interruptions while working. Inanother embodiment, the push notifications may be configured by defaultto visual only (i.e., pop-up alerts 412 and badge counts 418) uponinitial installation without presenting the setup window 410 to theuser. The user may only need to verify that they agree to receive pushnotifications at initial run and the app 140 will assume the defaulttypes of push notification messages are okay.

In preferred embodiments, the user may at any time enter the pushnotification setup window 410 to change the notification settings forthe hotel's app 140. The app 140 enables the user to open window 410 byproviding a “Notifications” button within the app's preferences or otherconfiguration screens (not shown). Upon the user selecting the“Notifications” button, the push notification setup window 410 ispresented allowing the user to confirm and/or change the notificationsettings.

After the user has configured the push notifications, the user pressesthe “Done” button 420 to save the changes. Once the settings are savedin a storage device within mobile phone 122 a, the OS on the mobilephone 122 a will notify the user of any incoming push notificationsrelated to app 140 as received from push notification gateway 128according to these saved settings.

Further configurations of the hotel's room control app 140 may also beenperformed in other windows (not shown) before or after the pushnotification setup window 410. Examples of other configurations that maybe desired include allowing the user to associate the app 140/mobiledevice 122 with a particular hotel room by any suitable method such asvia a connect code displayed on the in-room TV 116, by verifying userinformation entered into the app 140 to determine whether it matchesinformation of the guest currently assigned to the room as stored in thehotel's PMS 118, or by tracing network traffic sent from the mobiledevice 122 back to its originating room within the hotel 102 accordingto its source access point 124 and/or source Ethernet port 126 which aremapped to a particular room in a network map. These and other methods ofassociating a mobile device 122 to a hotel room are described in furtherdetail in U.S. Patent Application Publication No. 20130346564, publishedon Dec. 26, 2013 and entitled, “DYNAMICALLY ENABLING GUEST DEVICESUPPORTING NETWORK-BASED MEDIA SHARING PROTOCOL TO SHARE MEDIA CONTENTOVER COMPUTER NETWORK WITH SUBSET OF MEDIA DEVICES CONNECTED THERETO”,which is incorporated herein by reference. Location detection may alsobe utilized to detect in which the room or area of the hotel 102 themobile phone 122 a is located such as by triangulating wireless signalsbetween multiple access points (APs) 124.

The lower portion of FIG. 4 illustrates the output of the mobile phone122 a's touchscreen 400 while showing a main menu window 460 of thehotel room control app 140. The user may select any of buttons 462, 464,466, 468, 470, 472 to remotely control a number of different in-roomdevices 112, 114, 116 associated with the user's room and/or interactwith other services offered at the hotel 102. For example, after theuser presses the “control in-room TV” button 462, the app 140 causes asubsequent window (not shown) to be displayed allowing various controlssuch as “channel up”, “channel down”, “volume up”, “volume down”, etc.In this manner, the user may utilize their own mobile phone 122 of whichthey are likely very comfortable operating to also control other devicesin the hotel such as their in-room STB(s) 112, projector(s) 114, and/orTV(s) 116. Other hotel devices and functionality may also be remotelycontrolled via app 140 in a similar manner; for example, the user maypress button 464 to order room service, button 466 to remotely changethe room's thermostat, button 468 to turn on and off the in-room lights,and button 470 to toggle their room's external ‘do not disturb’ sign.Further details on how the room control app 140 may communicate with andcontrol various hotel devices 122 are further described in U.S. PatentApplication Publication No. 20110298596, published Dec. 8, 2011 andentitled, “METHOD OF OPERATING ONE OR MORE CONTROLLABLE DEVICES INDEPENDENCE UPON COMMANDS RECEIVED FROM A MOBILE DEVICE AND SYSTEMCONTROLLER THEREOF”, which is incorporated herein by reference.

FIG. 5 illustrates the contents of the touchscreen 400 when the userattempts to stream an online video using a web browser applicationrunning on mobile phone 122 a while at the basic service entitlement.Web browser applications often come pre-packaged with the operatingsystem (OS) of a mobile device 122 or may be downloaded from an appstore and are separate from the hotel's app 140 in this embodiment.

In this embodiment, the hotel's HSIA service is independent from thehotel's custom app 140 in the sense that a mobile device 122 is notrequired to install and run the hotel's room control app 140 in orderfor the mobile device 122 to access the Internet 120. Both mobiledevices 122 that have installed but are not currently running thehotel's room control app 140 and other mobile devices 122 d that do nothave the hotel's room control app 140 installed may run a web browser orother Internet-accessing application and take advantage of the hotel'sHSIA service in order to access the Internet 120. In other words, thehotel 102 does not require its guests to install or run room control app140 in order to access the Internet 120 from their mobile devices 122.

In this embodiment, when a user first attempts to access an external webserver 130, user authentication and Internet access package selectionand/or purchases are handled by the HSIA controller 106 using well knowncaptive portal techniques. For example, the HSIA controller 106 mayemploy HTTP redirection response status codes of the form 3XX in orderto redirect users to a login screen when they first attempt to browse toan external web server 130. URL redirection employing browserredirection via an intermediate gateway device is described in U.S. Pat.No. 6,636,894 B1 issued Oct. 21, 2003 and entitled, “SYSTEMS AND METHODSFOR REDIRECTING USERS HAVING TRANSPARENT COMPUTER ACCESS TO A NETWORKUSING A GATEWAY DEVICE HAVING REDIRECTION CAPABILITY”; and U.S. Pat. No.7,689,716 B2, issued Mar. 30, 2010 and entitled, “SYSTEMS AND METHODSFOR PROVIDING DYNAMIC NETWORK AUTHORIZATION, AUTHENTICATION ANDACCOUNTING”. Both of these patent documents are incorporated herein byreference.

Alternatively, techniques that do not require a browser redirectionmessage may be utilized such as those described in U.S. Pat. No.8,650,495, issued Feb. 11, 2014 and entitled “CAPTIVE PORTAL THATMODIFIES CONTENT RETRIEVED FROM DESIGNATED WEB PAGE TO SPECIFY BASEDOMAIN FOR RELATIVE LINK AND SENDS TO CLIENT IN RESPONSE TO REQUEST FROMCLIENT FOR UNAUTHORIZED WEB PAGE”, which is incorporated herein byreference. Or DNS based approaches may be utilized such as thosedescribed in U.S. Patent Application Publication No. 20140344890published Nov. 20, 2014 and entitled, “DNS-BASED CAPTIVE PORTAL WITHINTEGRATED TRANSPARENT PROXY TO PROTECT AGAINST USER DEVICE CACHINGINCORRECT IP ADDRESS”, which is incorporated herein by reference.

Further, free websites may be made accessible by the HSIA controller 106even for non-logged in mobile devices 122 using the techniques describedin U.S. Pat. No. 8,448,231, issued May 21, 2013 and entitled, “WALLEDGARDEN SYSTEM FOR PROVIDING ACCESS TO ONE OR MORE WEBSITES THATINCORPORATE CONTENT FROM OTHER WEB SITES AND METHOD THEREOF”, which isincorporated herein by reference.

In this example it is assumed that the HSIA controller 106 allows usersto select and optionally purchase one of two Internet packages: a basicpackage that is limited to low speeds suitable for checking email andbasic web browsing, and a premium package that is charged on a dailybasis that is ten times faster and suitable for streaming movies fromonline services such as YouTube®, Netflix®, Hulu® and the like. Forillustration purposes it is also assumed that the user's mobile phone122 a in this example is currently only entitled by the HSIA controller106 to access the Internet 120 at the basic service entitlement.

As shown in the top portion of FIG. 5, despite only being entitled tothe low bandwidth of the basic Internet package, the user of the mobilephone 122 a is attempting to stream a movie from an online contentprovider. To perform this action, the user has opened web browser window520 and navigated to an HTTPS URL of a movie streaming site. Withreference to FIG. 1, data corresponding to the streamed movie istherefore sent from the content provider (e.g., one of external webservers 130) to mobile phone 122 a via the hotel's HSIA controller 106and LAN 110. As shown, the movie is highly pixelated and may also bestuttering due to frequent buffering of video data. The reason for thesequality problems in this example is that the basic service entitlementof the mobile phone 122 a is capped at a low bandwidth by the HSIAcontroller 106 so the data for the movie cannot be streamed to mobilephone 122 a at a rate high enough to support acceptable video quality.

The HSIA controller 106 working in tandem with the bandwidth manager 218detects that the mobile phone 122 a is trying to exceed (or is near itsbandwidth cap) for the basic Internet package. Upon detecting thiscondition, the HSIA controller 106 transmits a message to communicatethis condition being met to the app server 108 along with the MAC/IPaddress of the mobile phone 122 a. The app server 108 finds the devicetoken previously received from the app 140 on the mobile phone 122 a andsends a corresponding push notification message addressed to this devicetoken via push notification gateway 128.

Taking the case where the HSIA controller 106 transmits the message tothe local app server 108 a implemented by the controller server 200 inFIG. 2, the local app server 108 a may find the device token of themobile phone 122 a by searching the stored data 122 as shown in FIG. 3according to the IP or MAC address of the device that is attempting toexceed its bandwidth as reported by the HSIA controller 106. Forexample, assuming the IP and/or MAC address of the device 122 thattriggered the bandwidth message from the HSIA controller 106 are “MAC-1”and “IP-1”, by searching for the row of stored data table 122 havingeither or both of these values in columns 300/302 the local app server108 a finds the device token in column 306 of that row (e.g., “Token-1”in this example).

After finding the device token of the mobile phone 122 a, the app server108 sends a push notification to this device token via push notificationgateway 128. The push notification gateway 128 then sends thenotification down to the mobile device 122 via either the hotel's LAN110 or the telecom phone network 134, and the OS or app 140 running onthe mobile device presents a visual or other alert 530 of the incomingnotification message to the user according to the push notificationsettings previously configured by the user with UI screen 400 a in FIG.4.

The actual protocol, message format, and operations required by the pushnotification gateway 128 will depend upon the specific requirements ofthe push notification system(s) selected for use at hotel 102. As longas the various requirements are known in advance, the app server 108 canbe implemented in a way that is compatible with the external pushnotification gateway(s) 128's requirements for any number of differentpush notification systems. Similarly, the mechanism that the hotel'sroom control app 140 utilizes to obtain the device token for the mobiledevice 122 on which it is currently running is also dependent upon thespecific push notification system in use. One example of an externalpush notification system is Apple Inc.'s push notification gateway foriOS® devices known as Apple Push Notification Services (APNS). Appleprovides to developers the format, operation and programming guides, andother requirements of APNS. Similar functionality and associateddocumentation is provided by other external vendors such as to use pushnotifications systems for Blackberry®, Android™, Windows Metro™ andother brands and types of mobiles devices 122. As these pushnotification system are well documented elsewhere, further descriptionof the actual mechanism of how the app 140 obtains the device token andhow the push notification gateway 128 sends the push notificationmessage to the mobile device 122 identified by the device token isomitted herein for brevity.

As shown in the top portion of FIG. 5, a result of the push notificationsent to the device token of the mobile phone 122 a by app server 108 viapush notification gateway 128 is that the OS on the mobile phone 122 aalerts the user in real-time to the incoming push notification messageeven when app 140 is not currently running. In this embodiment, pushnotification alerts are done by the OS of the mobile phone 122 adisplaying a text-based notification window 530 in the upper right handcorner of touchscreen 400 over top of whatever was previously displayedat that position just before the notification message was received.Other types of alerts may also be done as previously configured by theuser in the push notification configuration screen 410 for the hotel'sroom control app 140 as shown in FIG. 4.

In this embodiment, the alert for the push notification messagedisplayed in window 530 includes a summarized invitation for the user toupgrade from the basic Internet package to the premium Internet package.As a result, the user is immediately made aware of the possibility ofupgrading their Internet access package at the hotel 102 at the verytime when the user is likely to benefit from upgrading their Internetaccess. Beneficially, the notification alert in this embodiment isdisplayed in real-time to the user as soon as it is received from pushnotification gateway 128. There is therefore a high probability that theuser in this example is still attempting to stream the online movie (thecondition that triggered the notification in this example) and isalready aware that the current speeds of the basic Internet package aretoo slow for acceptable quality. In some situations, the pushnotification gateway 128 may delay delivery of the push notificationmessage for some period of time such as up to thirty minutes, but adelayed notification of the possibility to upgrade is still better thanno notification at all. In any case, in a preferred embodiment, the OSor app 140 running on the user's mobile device 122 is configured toalert the user to a new push notification message as soon as it isreceived at the mobile device 122.

The bottom portion of FIG. 5 illustrates what happens after the userclicks the “More info” link in the notification alert window 530.Because the notification alert window 530 is displaying a pushnotification message related to the hotel's room control app 140, whenthe user clicks the “More info” link, the OS on the mobile phone 122opens the room control app 140 in a new window 580. The hotel app 140then receives the push notification message and presents a more detailedinformation screen for the notification message explaining benefits ofupgrading to the premium Internet along with the price and buttons 582,584 that the user can click to either accept or decline the upgradeinvitation. If the user clicks the “No” button 584, the app 140 maysimply close and the user will be back in their web browser.Alternatively, if the user clicks the “Yes” button 582, the app 140 willsend a message to the app server 108 to upgrade the user's HSIA serviceentitlement at hotel 102.

In this configuration, the upgrade is performed by the app server 108dynamically reconfiguring the HSIA controller 106 by modifying theuser's settings in columns 308 of FIG. 3. In some embodiments, theuser's upgraded service entitlement may apply only to mobile phone 122 a; in other embodiments, the user's upgraded service entitlement mayapply to all currently logged in user devices 122 by the same user. Theuser identifier stored in column 304 may be utilized by the app server108 to find all the various mobile devices 122 that are associated withthe user who has performed the HSIA service upgrade. Whether upgradesapply to only one device or all of the user's devices can be a hotelspecific configuration setting.

Because the upgrade involves charging the user a fee, the app server 108also posts a charge to the user's currently assigned hotel room bycommunicating with the hotel's PMS 118. For example, the local appserver 108 a firstly queries the PMS 118 to find which guest room at thehotel 102 is associated with the user identifier in column 304 for themobile phone 122 a that has just upgraded. The local app server 108 asecondly adds the charge for the premium Internet package to the guestroom. In this way, when the user later checks out of the hotel 102, thepremium Internet package will be included in the room's folio and can bebilled to the guest's credit card assuming there are no disputes. Inanother example where the establishment 102 is a restaurant, the localapp server 108 a may add the charge to the bill associated with theuser's table, or any other area or location at hospitality establishment102 that is associated with the user such as a conference or meetingroom, seat number, etc. in various other examples.

In other embodiments, rather than adding the charge for the Internetupgrade to the user's bill, the charge may be billed in real-time to theuser's credit card, which may already be on record and stored within appserver 108 or PMS 118, or may be entered by the user into app 140 in asubsequent window (not shown) that appears after the user presses the“Yes” button 582. Such embodiments where the user's credit card bill ischarged and the payment is verified in real-time may be more appropriatefor types of hospitality establishment 102 that do not bill the user atthe end of their stay. For example central app server 108 b may bill theuser's credit card by communicating with a credit card processor gatewayserver (not shown) coupled to the Internet 120. Other types ofelectronic payment services such as PayPal® may be utilized to billand/or accept payment from the user in the similar way. The type ofbilling process(es) available at a particular hotel 102 may be a hotelspecific configurable setting and may be different at different hotels102.

FIG. 6 illustrates the touchscreen 400 of the user's mobile phone 122 aafter the user has completed the upgrade in response to receiving thepush notification message 530, such as after pressing the “Yes” button582 provided by hotel app 580. Because the user has now upgraded to thepremium Internet package with sufficient bandwidth to stream onlinevideos, the movie the user was previously trying to stream is nowwatchable in its proper quality in web browser window 520.

In some embodiments, the bandwidth allocation upgrade is dynamicallyperformed by the HSIA controller 106 by reconfiguring bandwidth manager218 to raise the cap for the mobile phone 122 a without cutting off theuser's existing web session. In this manner, the movie that waspreviously barely streaming or was stuck “buffering” will suddenly beginto play properly after the user accepts the upgrade invitation bypressing “yes” button 482. This is beneficial to not break any TCP orother protocol connections that the mobile phone 122 a may already haveestablished with other web servers 130 on the Internet 120. In otherembodiments, the user's existing network session at the basic level maybe stopped and then restarted at the premium level and this mightdisconnect the user's previous TCP connections. Whether the upgrade isseamless or involves restarting the session may be a hotel-specificconfiguration setting.

FIGS. 7, 8 and 9 together illustrate a flowchart describing how thesystem 100 leverages the push notification capabilities of the hotel'sroom control app 140 to also send event-triggered invitations to upgradethe HSIA service entitlement in response to detecting that a user maybenefit from such an upgrade. The steps of the flowchart are notrestricted to the exact order shown, and, in other configurations, shownsteps may be omitted or other intermediate steps added. In thisembodiment, the system operates as follows:

Steps 700: Receive a device token from an app 140 running on a mobiledevice 122 for a first service offered by the hospitality establishment122. The device token identifies the mobile device for sending pushnotifications to the app 140 via a push notification system.

Steps 702: Enable the mobile device 122 to access a second serviceoffered by the hospitality establishment at a limited serviceentitlement.

Steps 704: Monitor the usage of the second service by the mobile devicein order to detect a predetermined condition that indicates that themobile device may be benefit from the gaining access to the secondservice with an upgraded service entitlement.

Steps 706: Send a notification message to the device token via a pushnotification gateway 128 in order to invite the user of the mobiledevice 122 to upgrade the service entitlement at which the mobile device122 can access the second service.

Steps 708: When the user accepts the invitation, upgrade the secondservice for the mobile device and bill the user for the upgrade.

These upper level steps are broken down into more specific individualsteps explained in further detail below. For convenience of explanation,a description of a beneficial use case scenario will continue to focuson the hospitality establishment 102 being a hotel and will address thesystem 100 with respect to the mobile phone 122 a illustrated in FIG. 1;however, it is to be understood that similar steps may also be performedat other types of hospitality establishments 102 and simultaneously witha plurality of types of mobile devices 122 at each establishment 102.

In FIG. 7, the collection of steps 700 and 702 of the flowchart may beperformed by one or more processors (not shown) of the mobile device 122and the one or more processors 202 of the control server 200 asindicated below. Alternatively, the steps may be performed by anotherdevice different than specified below such by one or more processors ofthe central app server 108 shown in FIG. 1.

At step 710, the method of this embodiment begins when a user arrives atthe hotel and their mobile phone 122 a connects to hotel LAN 110 viaeither AP 124 or Ethernet port 126.

At step 712, the user runs the hotel's room control software app 140 onthe mobile phone 122 a. This step may involve the user downloading andinstalling the app 140 from an app store or another location such as thehotel's website. A QR code® [QR Code is a register trademark of DensoWave Incorporated] providing the user with a link to the location of theapp 140 on the app store is displayed to the user via the in-room TV 116in this embodiment. The user can take a picture of the QR code and theirmobile device will thereby capture the URL of the app 140 for immediatedownload and installation.

The QR code displayed to the user on the in-room TV 116 maysimultaneously include both a URL for the app store where the roomcontrol app 140 can be downloaded along with a unique connect code orother passkey for the hotel room or TV 116 on which the QR code isdisplayed for correlating the mobile phone 122 a to that room or TV 116once the app is running. For example, the URL encoded by the app cancomprise something similar to:https://app-store.example.com?app_id=34325&connect_code=234567, wherethe URL of ‘app-store.example.com’ is the app store's web site address,the variable ‘app_id’ identifies the hotel's room control applicationfor download from the app store, and the ‘connect_code’ variable isignored by the app store web server 130 but is later parsed by the app140 running on the mobile phone 122 a when the user takes a picture ofthe QR code from within the app 140 in order to associate their mobiledevice with the room and or media devices in the hotel 102 that areassociated with the unique connect code. Basically, if app 140 capturesa QR code that has a connect_code parameter, the app 140 ignoresredirecting the user to the app store and simply runs the authenticationattempt to associate with a particular hotel room (or output device)according to that connect_code.

Once the app is running, control proceeds to step 714.

At step 714, the hotel's room controller app 140 sends the pushnotification device token and MAC address of the mobile phone 122 a onwhich it is running to the local app server 108 a. This step may involvethe app 140 internally communicating with the OS running on the mobilephone 122 a and/or the push notification gateway 128 in order to obtainthe device token.

The way the device token is assigned depends on the specific pushnotification system(s) for which the mobile app 140 is designed tointeroperate. For example, with some push notification systems, the OSmay already be in communication with a central push notification gateway128 via either an available hotspot (e.g., AP 124) or via a telecomphone network's data plan (e.g., cell tower 136). The OS may thereforedetect a request from the app 140 to obtain a device token and assignone to target app 140, which then reports the assigned device token tothe app server 108 at this step. The OS, the push notification gateway128, and/or the app 140 may generate a unique device token thatidentifies the mobile phone 122 a from all other mobile devices 122 incommunication with the gateway 128. The device token may also include anapp identifier portion and/or a user identifier portion thatrespectively identify the hotel room control app 140 from other types ofapps that may receive push notifications and the specific user of themobile phone 122 a from other users of other mobile devices 122. As thespecific details of the device token for use pushing notificationsrelated to app 140 are well known for various push notification systems,further details of the generation, assignment and/or registration of thedevice token is omit herein for brevity. Suffice it to say that there isa device token for sending push notification messages related to the app140 on mobile phone 122 a and this device token is passed from app 140to the local app server 108 a at step 714.

At step 718, the user utilizes the hotel's room control app 140 tocontrol in-room media devices such as the STB(s) 112, projector(s) 114,and/or TV(s) 116 in the user's assigned guest room. As shown in FIG. 4,the user may also control other services in the hotel such as orderingroom service (button 464) or toggling the ‘do not disturb’ indicator(button 470) to name two examples. Commands and other information suchas status information may be sent by app 140 to the local app server 108a and vice versa at this step according to the user's actions within app140.

At step 720, the media device controller 104 operates the variousin-room devices 112, 114, 116 in dependence upon the user's selectionswithin the room control app 140. For example, the user may select tochange TV channels within app 140 and the media device controller 104thereafter sends a corresponding channel change command to the in-roomTV 116 in the guest's room.

At step 722, the user closes the hotel's room control app 140 in orderto perform other activities on the mobile phone such as surfing theInternet.

At step 724, the user opens a web browser application on the mobilephone 122 a and attempts to access a URL of an external website 130.

At step 726, the HSIA controller 106 allows the user to access theInternet at a basic service entitlement limited to 128kbps offered forfree to guests of the hotel 102. Part of this step may involve the HSIAcontroller 106 giving the user the option to purchase a higher serviceentitlement for Internet access but in this example it is assumed thatthe user declines and selects the lowest possible service entitlement.

At step 728, the HSIA controller 106 begins to monitor various aspectsof the mobile phone's 122 a usage of the Internet access service at thehotel 102.

FIG. 8 illustrates various aspects that be monitored by the HSIAcontroller 106 as the mobile phone 122 a uses the Internet service atthe hotel at the basic service entitlement. In this embodiment, the HSIAcontroller 106 working together with the bandwidth manager 218 limit themobile phone 122 a's access to the Internet 120 by only allowing mobilephone 122 a to perform basic web browsing at slow speeds. At the sametime, the HSIA controller 106 monitors and detects whether any of aplurality of different events described below have occurred. When any ofthese events occurs, this represents a predetermined condition thatindicates that the mobile device and/or its user may benefit byupgrading the service entitlement for Internet access. The collection ofsteps 704 in FIG. 8 may be performed by the one or more processors 202of the control server 200 as indicated below. Alternatively, the stepsmay be performed by another device different than specified below suchas when the HSIA controller is implemented in a standalone server.

At step 810, the HSIA controller 106 monitors the bandwidth usage of themobile phone 122 a, for example by monitoring traffic passed betweenhotel LAN 110 and the Internet 120 that has a source or destinationIP/MAC address of the mobile phone 122 a. In this embodiment, the HSIAcontroller 106 automatically keeps a record of the average bandwidthutilization separately for both upstream and downstream traffic for themobile phone 122 a. The average bandwidth values for each of upstreamand downstream reflect the last five minutes of activity and are savedin a bandwidth database table (not shown) in the stored data 224. Othertime values other than five minutes may be utilized in otherconfigurations.

Periodically the HSIA controller 106 compares the most recent averagebandwidth for the mobile phone 122 a with the bandwidth allocation forthe mobile phone 122 a stored in column 316 of the table shown in FIG.3. When the mobile phone's 122 a average bandwidth in either thedownstream and/or upstream directions are within a 90% threshold of thebandwidth allocation specified in column 316, the mobile phone 122 a isdeemed to have met the bandwidth threshold of step 810 and controlproceeds via node “A” to step 910 of FIG. 9. Otherwise, if the mobilephone 122 a has not reached within 90% of its bandwidth limit, controlproceeds to step 812. For clarity, the node label “A” is used tosimplify referring to this source node since there are so many differentpaths from steps 810, 812, 814, 816, 818, 820, 822, 824 that lead tostep 910.

Although in this configuration both the upstream and downstreambandwidths are limited to the bandwidth allocation in column 316, inother configurations there may be a different bandwidth limit for eachdirection. Additionally, although 90% of the bandwidth cap for themobile phone 122 a is utilized as the bandwidth threshold in thisembodiment, other bandwidth thresholds may also be utilized and thesethresholds may be different and or dynamically change over timedepending on the mobile device 122 being monitored, the Internet serviceentitlement of that mobile device, or other factors such as the useridentifier in column 304 for the mobile device 122 (e.g., VIP users mayhave different thresholds than regular users). The bandwidth thresholdmay also involve a time component such as checking whether the user hasbeen at 90% of the bandwidth cap for a certain amount of time such asone to ten minutes. This avoids triggering the upgrade invite inresponse to a mere momentary burst of data to/from mobile phone 122 a.

At step 812, the HSIA controller 106 monitors whether the user who isassociated with the mobile phone 122 a attempts to start using anothermobile device 122 d on hotel LAN 110 to access the Internet 120. In oneconfiguration this may be done by the HSIA controller 106 performingport tracing on the network traffic received from the new mobile device122 d to determine the guest room associated with the new mobile device122 d and then determining whether the guest currently assigned to thatguest room as recorded in the PMS 118 has changed since an unexpiredHSIA login associated with that room was created. These and othertechniques of detecting when a user is attempting to add an additionalmobile devices 122 d after already logging in and possibly paying forInternet access on primary mobile device such as mobile phone 122 a areexplained in further detail in Canadian Patent No. 2,788,573 issued Jul.9, 2013 and corresponding U.S. Patent Application Publication No.20140068721 published Mar. 6, 2014, both entitled, “ALLOWING GUEST OFHOSPITALITY ESTABLISHMENT TO UTILIZE MULTIPLE GUEST DEVICES TO ACCESSNETWORK SERVICE” and both incorporated herein by reference. When asecond or additional mobile device 122 associated with the same location(i.e., guest room number) and/or user (e.g., user loyalty number orother identifier) is detected, control proceeds via node “A” to step 910of FIG. 9; otherwise control proceeds to step 814.

At step 814, the HSIA controller 106 detects whether the mobile phone122 a has attempted to register itself as a server on the hotel LAN 110.This may be done by the HSIA controller 106 monitoring LAN 110 to detectBonjour™ or other zero-configuration server registration attempts bymobile phone 122 a. In this configuration, the basic HSIA serviceentitlement at the hotel 102 does not include the mobile phone 122 aacting as a server. However, if the user upgrades to a higher serviceentitlement such as premium then the mobile phone 122 a is permitted toact as a server and the HSIA controller 106 will either open ports inthe hotel's firewall/gateway 220 or assign to the mobile phone 122 apublic IP to thereby allow devices outside the hotel (e.g., servers 130on the Internet 120) to initiate and establish incoming connections withthe mobile phone 122 a on LAN 110. When the mobile phone 122 a attemptsto register a server, control proceeds via node “A” to step 910 of FIG.9; otherwise control proceeds to step 816.

At step 816, the HSIA controller 106 detects whether the mobile phone122 a has attempted to utilize a restricted Internet protocol. The HSIAcontroller 106 may make simple judgments regarding protocols in use bythe mobile phone 122 a according to the destination ports utilized inTCP connection requests made by mobile phone 122 a. These judgments aresimple in the sense that, although not perfectly accurate, they do notresult in significant load on the HSIA controller 106. For example, itis well known that port 80 is associated with HTTP, port 443 isassociated with HTTPS, and ports 20 and 21 are associated with filetransfer protocol (FTP). Other port numbers are well-known to beassociated with other protocols. In one example, the basic serviceentitlement at which the mobile phone 122 a is currently operating mayonly permit basic web browsing but not FTP transfers. The HSIA server106 working in tandem with gateway 220 can therefore monitor thedestination (and possibly source) ports of network traffic to/frommobile phone 122 a in order to determine that mobile phone is attemptingto utilize FTP.

If desired, the HSIA controller 106 may also perform packet inspectionand analysis on the contents of packets to/from mobile phone 122 a evenfor allowed port numbers to ensure that mobile phone 122 a does nottunnel restricted protocols over an allowed port. Such inspection andanalysis will burden the HSIA controller 106 with higher load but may bedesirable in some applications.

When the mobile phone 122 a attempts to utilize a restricted protocol,control proceeds via node “A” to step 910 of FIG. 9; otherwise controlproceeds to step 818.

At step 818, the HSIA controller 106 detects whether the mobile deviceis attempting to stream media content via hotel LAN 110. In addition tousing protocol and port detection techniques as previously described instep 816 to detect streaming and sharing specific protocols such asAirPlay®, AllShare®, digital living network alliance (DLNA®), the HSIAcontroller 106 may also monitor destination URLs and IP addressesrequested by the mobile phone 122 a on the Internet.

In a first example, local media sharing may be detected when the mobilephone 122 a makes a multicast domain name system (mDNS) request for anAirPlay® server on LAN 110. In this situation, the HSIA controller 106deems the mobile phone 122 a to be attempting to stream media. Inanother example, the URLs and IPs addresses associated with variouspopular or well-known media streaming websites such as YouTube®, Hulu®,Vimeo™, Metacafe™, Amazon® etc. may be stored in the stored data 224 andthe HSIA controller 106 may deem the mobile phone 122 a to be attemptingto stream media whenever mobile phone 122 a attempts to access one ofthese URLs or IP addresses. In this example, media streaming may beblocked for mobile phone 122 a at the basic service entitlement;alternatively, media streaming may be technically possible but since theallowed bandwidth of the basic service entitlement is set so low thequality of the data transfer rate will be insufficient to meet userdemands.

When the mobile phone 122 a attempts to stream media content via LAN110, control proceeds via node “A” to step 910 of FIG. 9; otherwisecontrol proceeds to step 820.

At step 820, the HSIA controller 106 detects whether the mobile phone122 a is attempting to perform IP conferencing such as audio visualconferencing. Protocol detection, port detection, destination addressdetection, and/or bandwidth usage may all performed at this step todetect when the mobile phone is attempting an IP conference. As thebasic service entitlement is insufficient to handle a high quality IPconferencing it would beneficial if the user upgraded to the premiumpackage. When the HSIA controller 106 detects that the mobile phone 122a is attempting to perform IP conferencing via LAN 110, control proceedsvia node “A” to step 910 of FIG. 9; otherwise control proceeds to step822.

At step 822, the HSIA controller 106 detects whether the current time astracked by the clock chip 204 is within X minutes (e.g., 40 minutes)from the HSIA login expiry 310 for mobile phone 122 a. In thisconfiguration, the basic service entitlement is only offered for free tocurrent guests of the hotel 102 and expires on the day of their checkouttwo hours after checkout time. However, as many guests may have flightslater in the day or evening, they may still wish to purchase Internetaccess for the remaining time they are in the vicinity (e.g., withinrange of AP 124) of the hotel 102 but are no longer a guest. Likewise, aguest who previously purchased the premium package may still be usingthe Internet when that package is nearing its expiry. Any mechanism ofdetecting when expiry is nearing such as a time chip, software orhardware countdown timers etc. may be utilized at this step 822. Whenthe HSIA controller 106 detects that the mobile phone's current Internetservice entitlement is within a threshold time duration from the expirydate/time in column 310, control proceeds via node “A” to step 910 ofFIG. 9; otherwise control proceeds to step 824.

At step 824, the HSIA controller 106 detects whether the mobile device122 a has attempted to perform any other restricted actions or whetherany other conditions are met that indicate that the mobile device 122 awould benefit from upgrading their HSIA service entitlement. Thespecific restricted actions monitored at this step may be ahotel-specific configuration setting so that different hotels 102 canwatch for different conditions. For example, at a hotel 102 with aconference occurring, a condition may be set to the expiry time of theconference. When one of these hotel-specific conditions is met, controlproceeds via node “A” to step 910 of FIG. 9; otherwise control returnsto step 810 to again check for any of the conditions of steps 810 to824.

FIG. 9 firstly illustrates how the system 100 sends the pushnotification message to the mobile phone 122 a via the push notificationgateway 128 in response to detecting any of the predetermined conditionsshown in steps of steps 810 to 824 of FIG. 8. The collection of steps706 in the top portion of FIG. 9 may be performed by the one or moreprocessors 202 of the control server 200 along with processors (notshown) of the push notification gateway 128 and the mobile phone 122 aas indicated below. Alternatively, illustrated steps may be performed byother devices such as by one or more processors of the central appserver 108 b in other configurations.

At step 910, the local app server 108 a sends a notification message tothe device token previously received from the app 140 running on themobile device at step 716. The notification message is sent via a pushnotification gateway 128 such as an Apple® APNS gateway server on theInternet 120.

At step 912, the push notification gateway 128 sends the notificationmessage to the mobile phone 122 a identified by the device token.

At step 914, the OS running on the mobile phone 122 a receives the pushnotification message and displays an alert, plays a sound, updates abadge count, or otherwise alerts the user to the incoming pushnotification for the app 140. For instance, the OS may display a textmessage such as shown in the alert window 530 of FIG. 5.

At step 916, the user opens or otherwise activates the notificationmessage which causes the OS running on the mobile phone 122 a to openthe hotel room control app 140 and trigger the upgrade invite for theuser as shown in window 580 of FIG. 5.

At step 918, the app 140 determines whether the user has chosen toupgrade their HSIA service. If the user chooses to not upgrade, controlends at step 926; alternatively, when the user agrees to upgrade theirHSIA service entitlement such as by pressing the “Yes, bill to my room”button 582 in FIG. 5, control proceeds to step 920.

The bottom portion of FIG. 9, namely collection of steps 708,illustrates how the system 100 upgrades the HSIA service entitlement forthe mobile phone 122 a and bills the user. The collection of steps 708may be performed by the one or more processors 202 of the control server200; alternatively, these steps may be performed by difference devicessuch as when the various HSIA control server 108, local and/or centralapp server 108 a,b, bandwidth manager 218, gateway/firewall 220 areimplemented in one or more separate devices such as standalone computerservers.

At step 920, the local app server 108 a receives the upgrade commandfrom the mobile device 122 a such as in response to the user clickingthe “Yes, bill to my room” button 582 in the hotel app 140 asillustrated in FIG. 5.

At step 922, the HSIA controller 106 updates the various HSIA serviceentitlement settings for the mobile phone 122 a in columns 308 of FIG. 3and reconfigures the bandwidth manager 218 and/or gateway/firewall 220to enforce these new settings for the mobile phone 122 a. As shown inFIG. 6, after these new settings for the upgraded service entitlementare activated, the mobile phone 122 a receives increased bandwidth andthe online movie the user was trying to stream now comes in high qualityresolution. Any other additional features of the premium Internetpackage such as more personal devices 122, onsite AirPlay® mediastreaming to other devices on hotel LAN 110 such as in-room TVs 116,remote video streaming from external web servers 130, servercapabilities, unrestricted protocols, delayed expiry time, etc. areactivated as well. The specific features that are included in theupgraded service entitlement may be adjusted according to thesite-specific requirements and typical guest needs of the hospitalityestablishment 102. The upgrade may be done without interrupting theuser's ongoing Internet session in some embodiments, or the user'sInternet session may alternatively be closed and restarted at the higherservice entitlement.

At step 924, the local app server 108 a posts the room charge to the PMS118 so that the room's folio will include the charge for upgrading tothe premium Internet package. Other types of billing such as credit cardbilling may also be utilized at this step or combined with step 918rather than PMS-based billing.

At step 926, the process in this example ends. However, in an actualimplementation deployed at a hospitality establishment 102 the processmay return from step 924 to step 810 to continue monitoring for furtherconditions of the mobile phone's 122 a Internet session for as long asthe mobile phone 122 a is connected to the hotel LAN 110. For example,even if the mobile phone 122 a is now upgraded to the highest serviceentitlement available (e.g., premium Internet access in this example),this service entitlement is not for an unlimited time and will expireaccording to the date/time values in column 310 of FIG. 3 in the rowassociated with mobile phone 122 a. Thus, at a minimum, the HSIAcontroller 106 may continue performing step 822 to check to see whetherthe current time is within a threshold duration of the expiry time. Ifyes, a push notification may be sent (collection of steps 706) to invitethe user to upgrade their service entitlement to a later expiry time.Likewise, assuming the user lets the premium package expire withoutrenewing, the HSIA controller 108 may again return to step 810 in orderto beginning checking all the various conditions of FIG. 8 to see if theuser might benefit from re-upgrading to premium access.

In another example, premium may not be the highest service entitlement,there may be an even higher service entitlement with greater bandwidthcaps and/or reserved bandwidth rates and the above process can again berepeated to detect conditions and send a push notification whenever theuser may benefit from upgrading to one of the higher serviceentitlements. The notification message inviting the user to upgrade mayalso recommend which of the various higher levels may be most suitableto the user based on their past activity and/or the specificcondition(s) in FIG. 8 that triggered the alert.

In an exemplary embodiment, all the user's mobile devices 122 may bemonitored in aggregate using the above process and then the app server108 sends a push notification message to all of the user's mobiledevices that have previously installed and run the hotel's room controlapp 140. For example, assume that all three of mobile phone 122 a,tablet computer 122 a, and laptop computer 122 c all belong to a singleguest or family who is staying in one hotel room and the guest/familyare currently only entitled to access the Internet 120 at the basicservice entitlement. By monitoring the various aspects of all of thosemobile devices 122 a,b,c to check for the conditions shown in FIG. 8,the HSIA controller 106 can detect if any one or more of the user'sdevices 122,a,b,c would benefit from upgrading to the premium package.The average bandwidth monitored at step 810 may be the total bandwidthtogether utilized by all of the user's devices 122 a,b,c. The pushnotification message may then be sent to the various device tokens incolumn 306 of FIG. 3 for each of the devices 122 associated with theguest/family.

Perhaps a user only installed the hotel's room control app 140 on theuser's mobile phone 122 a because the user finds it convenient to changethe TV 116 channels using their mobile phone 122 a rather than theregular infrared TV remote control. Even though the user has notinstalled or run the hotel room control app 140 on any of the user'sother devices 122 b,c, in the event the user later attempts to accesslarge amounts of bandwidth on at least one of the tablet computer 122 band the laptop computer 122 c, the above process may trigger at step 810due to the bandwidth usage on one of these two devices 122 b, c.However, at step 910 the app server 108 sends a push notification to theuser's mobile phone 122 a since this is the only of the user's devices122 that has installed app 140. In this way, the system 100 displays anotification inviting the user to perform the upgrade on a differentmobile device 122 than the mobile device 122 that triggered the alert tobe sent.

To find which mobile devices 122 are associated with the user, the localapp server 108 a in this embodiment queries the stored data table 122 inFIG. 3 to find all the rows (each corresponding to a different mobiledevice 122) that have the same user identifier in column 304. The localapp server 108 a may also find common devices 122 associated with asingle user by matching other user data stored for each mobile device122 in other columns (not shown) such as the user's email address or theuser's name or partial name. The user information may be authenticatedagainst and looked up from information of the guest currently assignedto the guest room as stored in the PMS 118. For example, when a userdevice logs in for Internet access at the HSIA controller 106's loginpage, the HSIA controller 106 may utilize two factor PMS informationsuch as an email match (and/or partial name validation) to authenticatethe device 122 for Internet access and then store this user informationfor the now logged in device 122 in the stored data 224. Thereafter, atstep 910 the local app server 108 a searches the stored data 224 tolookup any mobile devices 122 on record that have matching userinformation with the mobile device 122 that triggered the upgrade invitecondition in FIG. 8. The local app server 108 a then filters the user'smobile devices 122 to find which one(s) also have a valid pushnotification device token specified in column 306. A non-null devicetoken in column 306 indicates that the mobile device 122 has previouslyinstalled the hotel's app 140 and may therefore be capable of receivingand displaying push notifications to the user. At step 910, the localapp server 108 a sends a push notification message to any or all of themobile devices 122 on record that are both associated with user (havematching user information) and that have non-null device token specifiedin column 306 (meaning they are capable of receiving push notificationsassociated with hotel app 140).

A benefit of the app server 108 sending a push notification to other ofthe user's mobile devices 122 at step 910 is that this allows users withthe app 140 installed on their mobile phone 122 a to receive the pushnotification message inviting the user to upgrade their Internetexperience even when the mobile phone 122 a is not currently connectedto the hotel's wireless network (AP 124). The user's mobile phone 122 ainstead receives the push notification message from the pushnotification gateway 128 via telecom phone network 134 and cell tower136. The push notification message informs the user that their tabletcomputer 122 b or laptop computer 122 c is/are using all of theirassigned bandwidth (or has/have a crossed a bandwidth threshold) athotel 102 even when neither of the tablet 122 b or laptop 122 c haveinstalled the hotel app 140.

Continuing the above example, in the event that all three of the user'smobile devices 122 a,b,c have installed the hotel app 140, the appserver 108 may at step 910 send three push notification messages—one toeach of the device tokens for the three devices 122 a,bc. Thenotification message or subsequent screens that are opened by the app140 after the user clicks the “More info” link in the push notificationmessage 530 may display device-specific information for each of theuser's mobile devices 122 such as a ranking of the user's devices 122 inorder of descending bandwidth utilization. The user may thereby seewhich of the devices 122 a,b,c would benefit from the upgrade.

To assist users who do not bring a personal mobile device 122 to thehospitality establishment 102, the establishment 102 may provide aloaner mobile device 122 to the user and this loaner device 122 ismonitored and pushed a notification message in the same manner asdescribed above. It is therefore not a requirement that the mobiledevice 122 must belong to the user.

In an embodiment, the app server 108 may cause a similar notificationmessage inviting the user to upgrade Internet access to be displayed onthe user's in-room TV 116. An example usage scenario in this embodimentis as follows: a user checks in to a particular hotel room (e.g., “room101”) and the room assignment information is stored in the PMS 118.Thereafter, when the user is surfing the Internet on a user device 122the above described monitoring of the various conditions associated withthe user's device 122 in FIG. 8 take place as previously described. Whenone of the conditions is triggered (i.e., when control proceeds to node“A”), the local app server 108 a sends a command to the media devicecontroller 104 to trigger an alert to be displayed on the in-room TV 116in the guest room associated with the user. As shown, the table in FIG.3 stores in column 304 the user's loyalty program member number that canbe used to search the PMS 118 to find the user's currently assignedroom. Alternatively, the user may enter their room number as a part ofthe HSIA login process with the HSIA controller 106 and the room numbermay be stored in the stored data 224 of FIG. 3. To cause the alertmessage to be displayed on the TV 116, the media device controller 104sends a command to the STB 112 attached to the TV to overlay the alertin a text box in the upper corner of the TV 116 screen similar to howwindow 530 is displayed in the upper corner of touchscreen 400 of theuser's mobile phone 122 a in FIG. 5. For example, the alert 530 shown bythe TV may appear superimposed on top of the television program the useris currently watching. In another embodiment, the media devicecontroller 104 sends a command to the in-room TV 116 causing the TV toturn on so that the alert 530 can be seen immediately, or to flash orotherwise indicate a message-waiting light indicating that there is anotification message 530 waiting to be viewed.

In some embodiments, at step 910 in FIG. 9 the app server 108 may sendboth a push notification to the device token of the user's one or moremobile devices 122 and also send a command to the media devicecontroller 104 at the hotel 102 to display a similar notification alerton using the in-room TV 116 in the guest's room. The guest may choose toopen the notification message on any of their mobile devices 122 or onthe in-room TV 116. In the event that the user uses the in-room TV theymay use either the infrared TV remote or the room control app 140 toclick the upgrade alert on the TV 116. The TV 116 then displays a userinterface (UI) similar to that shown by the hotel app 580 in FIG. 5. Theuser interacts with the UI on the TV 116 using their infrared remotecontrol (or another input device) to accept the Internet upgrade andinitiate the billing to the user's room. Again, other types of billingmay be used such rather than room-based billing in other configurations.Displaying an upgrade alert on the in-room TV 116 with content similarto push notification window 530 is particularly beneficial to helpassist users who have brought mobile device(s) 122 d to the hotel buthave chosen to either not install the hotel's room control app 140 orinstalled the app 140 but refused push notification capabilities (orshut all types to “Off” in the settings screen 410 in FIG. 4). However,these users may still see the alert on their in-room TV 116 and thehotel 102 can still benefit from increased revenue from Internet serviceupgrades from some of these users who choose to upgrade.

Another benefit of utilizing the UI of the in-room TV 116 in the guest'sroom to display the notification alerts 530 and enable the user toupgrade their bandwidth is that this alert mechanism may preventreliance on an external push notification gateway 128. For instance, theHSIA controller 106 may detect a user's tablet computer 122 b is tryingto exceed its bandwidth allotment, the HSIA controller 106 sends amessage of this fact which is received by the media device controller104, and the media device controller 104 sends a command to the STB 112connected to the TV 116 in the user's assigned hotel room in order todisplay the alert message 530 and allow the user to upgrade theirbandwidth. When the user agrees to upgrade, the STB 112 sends an upgrademessage back to the device controller 104, and the HSIA controller 106increases the Internet bandwidth for the user and the PMS bills theuser's room folio in response. Although this process does also fullysupport concurrently sending push notification messages directly theuser's mobile devices 122 and allowing the user to upgrade via the UI orbrowser running on the mobile devices 122, it does not require this andtherefore adds both redundancy and reliability to make sure the user ismade aware of the option to upgrade their Internet and can do so withoutreliance on their-party devices such as the user's device and externalpush notification gateway 128. Furthermore, since a third-party pushnotification gateway 128 may be down or otherwise delay delivery of thealert message 530, the in-room TV's 116 alert message 530 may bereceived sooner and more timely by the user. In other words, the TV'salert message 530 regarding bandwidth upgrade has a higher likelihood ofbeing seen by the user right as the user is noticing the effects of therestricted bandwidth. For this reason, the in-room TV 116 basednotification of alert 530 may tend to have a high conversion rate forsuccessful upgrades by users thereby increasing the hospitalityestablishment's upgrade revenue.

Furthermore, other types of alerts may also be sent to the user at step910 in addition to or instead of a push notification message via pushgateway 128 and an in-room TV 116 displayed message via media devicecontroller 104. For example, the app server 108 may email the user, senda short message service (SMS) or other text message to the user, callthe user on the phone and play an automated message, and/or notify theuser in any other suitable manner. Many of the user's contact methodssuch as email address(es) and phone numbers may be stored in the PMS 118and correlated to the IP/MAC addresses of the user's mobile devices 122via the user's identifier stored in column 304 of FIG. 3. The app server108 may gather the user's points of contact in order to determine onwhich ones to notify the user of the upgrade process. The messages sentto the user may include a URL of the hotel's HSIA welcome web pageand/or other instructions for how the user can upgrade their Internetservice entitlement or obtain customer service such as via by dialing apredetermined extension on their in-room phone.

A bandwidth control screen may also be provided on either or both of theguest's in-room TV 116 and the guest's various mobile devices 122 viaapp 140. For example, the main menu 460 of the room control app 140shown in FIG. 4 has the “Internet control panel” button 472 and thein-room TV 116 menuing system may include a similar button or optionavailable to users when they turn on the TV. Assuming the user is at thebasic service entitlement, upon clicking to view the control panel, theuser may be presented with a screen similar to the upgrade screen 580shown in FIG. 5. In this way, the user is also able to upgrade to ahigher service entitlement even if none of the events in FIG. 8 aretriggered, or in the event that they are triggered for the user's mobiledevice 122 but the user has not installed app 140 on their personaldevices 122, blocked the push notification capabilities, and/or are notcurrently watching TV 116 in their guest room at the time they want toupgrade. Some guests may purchase upgrades using the Internet controlpanel on either in-room and the hospitality establishment 102 benefitsfrom the increase revenue.

FIG. 10 illustrates a flowchart describing a method of inviting a userto upgrade Internet access at a hospitality establishment according toanother embodiment of the invention. The steps of the flowchart are notrestricted to the exact order shown, and, in other configurations, shownsteps may be omitted or other intermediate steps added. In thisembodiment, the system operates as follows:

At step 1000, the user installs a hospitality service app 140 on one ormore of the user's mobile device(s) 122. The hospitality app 140 couldbe the hotel room control app 140 of the previous examples or could beanother type of service application such as a food ordering app for aretail food establishment. In this example, the user downloads andinstalls the app 140 on their mobile device(s) 122 before the user hasarrived at the hospitality establishment 102. Installing the app priorto arrival is useful for the user to take advantage of otherfunctionality and services supported by app 140 such as travel planning,remote check-in, ordering of food to their home or another location,sending and receiving messages with the hospitality establishment 102such as requesting vacancy information or making a reservation, etc.depending on desired functionality of app 140. The user may install theapp 140 by downloading it from an app store or other web serveravailable on the Internet 120.

At step 1002, the user runs the app 140 on each of their mobile devices122 on which the app 140 is now installed.

At step 1004, assuming the user does not yet have an account, the userregisters (creates) an account on the central app server 108 b. Thisstep may be performed by the app 140 running on the user's mobile device122 providing a ‘create account’ button when no user is currently signedin to the app 140. Alternatively, the app 140 may open a web browserapplication on the mobile device directed at an account creation URLprovided by the central app server 108 b. In some embodiments,registering an account on central app server 108 b may be a requiredstep in order for the user to utilize all or certain functionality ofapp 140; alternatively, registering a user account may be optional butin this example it is assumed that the user chooses to register anaccount. Part of the account registration process involves the userproviding identifying information such as the user's email address andname. The user may also establish login credentials such as a usernameand password. Other types of login credentials may also be establishedsuch as sign-in key files etc. Step 1004 to register an account is onlydone once by the user on a single mobile device 122; thereafter, onsubsequent runs of app 140 by the same user on any of the user's mobiledevice(s), step 1004 is omitted from the flowchart of FIG. 10 since theuser already has an account.

At step 1006, the user signs in to the app 140 using the credentials fortheir personal account on the central app server 108 b which werepreviously created at step 1004. Assuming the user installs and runs app140 on multiple mobile devices 122, the user logs in to the app 140using their central user account credentials on each mobile device 122.

At step 1008, the user allows the app 140 running on each the user'smobile device(s) 122 to receive push notifications. In one example, theapp 140 may query the user when the app 140 is first run as to whetherpush notification message are allowed, in another example, the user mayenter a push notification configuration screen 410 such as that shown inFIG. 4 to enable push notifications and choose the desired alert types412, 414, 416, 418.

At step 1010, the app 140 sends the device token for the mobile device122 on which the app 140 is running to the central app server 108 b viathe Internet 120. Taking an example where the user has installed the app140 on three devices, namely, mobile phone 122 a, tablet computer 122 b,and laptop computer 122 c, the apps 140 running on each of these threemobile devices 122 a,b,c send the corresponding device token for thesedevices to the central app server 108 b. The central app server 108 bstores the various device token(s) received from the user's mobiledevices 122 a,b,c with the user's central account information. Thus, theuser's account on the central app server 108 b may include informationrelated to the user such as: the user's name, email address, username,password, in addition to the various device tokens received from mobiledevices 122 a,b,c on which the user has logged in to app 140 with theuser's login credentials.

At step 1012, the user closes the app 140 on each of their mobiledevice(s) such as to perform other tasks.

At step 1014, after some indeterminate period of time, the user travelsto a hospitality establishment 102 providing Internet access. Forexample, while on a business trip the user may visit a hotel or coffeeshop providing wireless hotspot or wired Internet functionality. Theuser connects to a wireless access point (AP) 124 or Ethernet port 126at the establishment and completes the hospitality establishment'sInternet sign-in process such as accepting the terms and conditions,providing user information, and possibly completing a payment process.In some embodiments, the sign-in process is based on personalinformation of the user received at a login web page provided by an HSIAcontroller 106 at the hospitality establishment 102. In otherembodiments, the login process may be fully automatic and transparentsuch as described in U.S. Patent Application Publication No. 20130305320published Nov. 14, 2013 and entitled, “AUTOMATIC SERVICE ACTIVATION FORUSER DEVICE UPON DETECTING ITS DEVICE IDENTIFIER ON NETWORK OFHOSPITALITY ESTABLISHMENT”, which is incorporated herein by reference.Again, for the purposes of this example, it is assumed that the Internetaccess service entitlement to which the user obtains is the lowest of aplurality of different service levels. In other words, there is at leastone upgraded service level that includes other features such as higherbandwidth to which the user could upgrade if later desired.

At step 1016, the bandwidth manager 218 at the hospitality establishmentmonitors bandwidth usage of the Internet 120 by the user and detectsthat the user is nearing their bandwidth cap. Other types ofpredetermined conditions indicating the user may benefit from anInternet upgrade such as previously shown and described in FIG. 8 mayalso be detected at this step in a similar manner.

At step 1018, in response to detecting the condition that the user isnearing their bandwidth cap in step 1016 (or another conditionindicating an upgrade would be beneficial for the user), the bandwidthmanager 218 sends a message to the central app server 108 b identifyingthe user.

At step 1020, the central app server 108 b finds the various devicetoken(s) associated with the identified user, and the central app server108 b then sends a separate push notification message to each of thefound device tokens via the push notification gateway 128. Each of thepush notification messages invite the user to upgrade from the basicInternet package to an upgraded Internet package at the hospitalityestablishment 102.

In steps 1018 and 1020, the user may be identified in any suitablemanner. For example, the user may have previously logged in to thehospitality establishment's Internet service at step 1014 using the samelogin credentials that the user previously established for use with theapp 140 at step 1004. Having consistent login credentials on both theapp 140 and for logging in to the Internet works well when the app 140is specific to the hospitality establishment 102 such as a room controlapp 140 for a hotel 102, or a drink ordering app 140 for a coffee shop102. In this example, the central app server 108 b simply looks up inits user profile database the user profile number that is associatedwith the login credentials received from the bandwidth manager 218 inorder to find the device token(s) associated with the user's variousmobile devices 122 a,b,c.

Other ways of identifying the user may also be utilized such as theemail address, name, or other personal information of the user whologged in to the Internet at step 1014. For example, the bandwidthmanager 218 may send the email address and/or name of the user who isnearing their bandwidth cap to the central app server 108 b at step 1018and the app server 108 b searches for the device tokens associated withthis user information. A loyalty number identifier of the user at thehospitality establishment 102 may be utilized to identify the user in asimilar manner, where the user had previously entered their loyaltymember number when creating the account on central app server 108 b atstep 1004. In yet another example of particular benefit when thehospitality establishment is a hotel 102, the may enter their roomnumber when logging in to the Internet at the hotel 102, and thebandwidth manager 218 may retrieve any information associated with thecurrently registered guest of that room from the PMS 118 when the useris found to be nears their bandwidth cap (step 810). Any of theinformation about the currently registered guest is sent by thebandwidth manger 218 to the central app server 108 b at step 1018 andthe central app server 108 b finds the device token(s) associated withthis user information at step 1020.

At step 1022, each of the user's mobile devices 122 a,b,c receives thepush notification message to its device token from the push notificationgateway 128 and displays or otherwise presents a push notification alert530 to the user. As previously described for the collection of step 706in FIG. 9, this step also involves the push notification gateway 128sending the notification messages down to the user's mobile devices asidentified by the device tokens via either the Internet 120 or thetelecom phone network 134 (e.g., 3G, 4G mobile telecommunication networketc.).

At step 1024, assuming a visual push notification alert 530, the userclicks on the alert 530 icon on a particular mobile device 122, and theapp 140 on that mobile device 122 automatically opens the web browser onthe mobile device at the URL for the hospitality establishment'sInternet package upgrade webpage. The user can thereby upgrade theirInternet access to a higher service entitlement with a higher bandwidthallocation—see collection of steps 708 in FIG. 9. In the event the userdoes not wish to upgrade, the user may ignore or close the variousalerts 530 on their mobile devices 122 and continue accessing theInternet 120 at the basic service entitlement. In an embodiment, thepush notification messages sent to the user's mobile devices at step1020 include a time-to-live or other timeout condition so that they areautomatically deleted after one to two hours in the event that the userchooses to ignore them. The value of the time duration before they willbe automatically deleted may be either a user configurable setting(e.g., on config screen 410 in FIG. 4) or an administrator setting suchas chosen by a manager of the hospitality establishment 102 and/or theapp developer.

In an advantageous embodiment of FIG. 10 it is not required that theuser signs up and accesses the Internet 120 on the same mobile devices122 a,b,c that the user has installed the app 140 at step 100. Instead,the user may sign up and access Internet 120 at step 1014 on anothermobile device 122 d either owned by the user or provided by thehospitality establishment 102. For example, the user may be accessingthe Internet at step 1014 on a corporate laptop on which the app 140 isnot installed. However, if the user nears the bandwidth cap assigned bythe bandwidth manager 218 to the corporate laptop, the user's mobilephone 122 a will receive the push notification inviting the user toupgrade the Internet access on the corporate laptop.

In an advantageous embodiment of FIG. 10 it is not required that the app140 has ever been run on any of the user's mobile devices 122 a,b,cwhile the user is at the hospitality establishment 102. Instead, theuser may install and run the app 140 on their mobile phone 122 a whilethe user it at home or at the airport. Sometime later the user mayarrive at the hospitality establishment 102 and the flowchart proceedsfrom step 1014-1024 without the user ever having run the app 140 whileat the hospitality establishment 102. In fact, the user may even forgetthat they had previously installed and configured the app 140 to receivepush notifications. The mobile phone 122 a also does not need to ever beconnected to the hospitality establishment 102's LAN as the pushnotification messages may be sent to the mobile phone 122 a via thetelecom network 134.

In an exemplary embodiment of the invention, a software application 140running on a mobile device 122 allows a user to access a first serviceoffered by a hospitality establishment 102. An app server 108 receives adevice token from the software application 140, where the device tokenidentifies the mobile device 122 for pushing notification messages ofthe software application 140 to the mobile device 122 via a pushnotification system. The mobile device 122 is monitored while accessingthe Internet 120 in order to detect when the user may benefit fromupgraded access to the Internet 120. The app server 108 then sends anotification message to the device token via the push notificationsystem. The notification message invites the user to upgrade to anupgraded service entitlement for accessing the Internet 120, and thepush notification system alerts the user to the notification message viathe user interface of the mobile device 122 even when the softwareapplication 140 is not running on the mobile device 122.

In an exemplary embodiment of the invention, an app server 108 receivesa device token from a software application 140 on a mobile device 122.The device token identifies the mobile device 122 for pushingnotification messages of the software application 140 to the mobiledevice 122 via a push notification system. The mobile device 122 ismonitored while accessing the Internet 120 in order to detect when theuser may benefit from upgraded access to the Internet 120. The appserver 108 then sends one or more notification message(s) to the usersuch as by sending a message to the device token of the mobile device122 via the push notification system and/or to a display device 116associated with the user at the hospitality establishment 102.

In an advantageous embodiment of the invention, the system 100automatically notifies users of how to upgrade their Internet serviceentitlements after they have already logged in and are already accessingthe Internet, thereby increasing hotel revenue and user satisfaction. Inan advantageous embodiment of the invention, the system 100 notifiesusers of how to upgrade while they are using the Internet regardless ofwhat application (web browser or other) and what protocol (includingencrypted and non-web-based) the user happens to be using at the time.In an advantageous embodiment, the system 100 notifies a user of theInternet access upgrade process without disrupting or hijacking theuser's existing network sessions to make the notification. In anadvantageous embodiment of the invention, the system 100 notifies a userof the upgrade possibility at a time that the user likely needs or willbenefit from the upgrade. In an advantageous embodiment, the system 100does not require any unrealistic action by the user such as having toremember or save a URL in order to later upgrade their Internet serviceentitlement. In an advantageous embodiment, the system 100 sends a pushnotification to a mobile device 122 associated with the user and thepush notification system sends the message to the mobile device viaanother network such as telecom network 134; in this way, the userbeneficially receives the upgrade invite on a device 122 that may notcurrently be on the hotel's LAN 110. In an advantageous embodiment, thesystem 100 leverages the push notification capabilities of a mobile app140 that many users will install and run in order to benefit fromanother service offered by the hospitality establishment independentfrom the service for which the system 100 is sending the invite toupgrade. In an advantageous embodiment, the system 100 complements andmay be used together with other existing methods to encourage users toupgrade their Internet access; however, system 100 offers a superiorexperience for users who have the mobile app 140 installed and pushnotifications allowed on at least one mobile device 122, therefore moreusers are encouraged to upgrade when system 100 is employed than withexisting methods only.

Although the invention has been described in connection with preferredembodiments, it should be understood that various modifications,additions and alterations may be made to the invention by one skilled inthe art without departing from the spirit and scope of the invention asdefined in the appended claims. For example, not shown in the flowchartsof FIG. 7-9 are cutting off the user's Internet when the expiry time isreached or the user leaves etc. however these steps may be added. Inother examples, the app server 108 and/or the control server 200 may becentrally located somewhere external to the hospitality establishment102 on the Internet 120 rather than at the hospitality establishment102. The various devices described above or shown in the figures may beimplemented as one or more computers having processor(s), networkinterface(s), storage medium/media, and other necessary hardwarecomponents.

In another example modification, at step 910, if the hotel's roomcontrol app 140 is open and running and already ready to receive directcommunication from the app server 108, the app server 108 may simplysend the notification message directly to the app 140 running on themobile device 122 without going through push notification gateway 128.

Although the above examples have focused on a hotel room control app140, in other embodiments of the invention system 100 app 140 may allowusers to access other types of services at other types of hospitalityestablishments 102. For example, at a coffee shop, restaurant, or otherretail food service location, the app 140 may be installed by users inorder to allow the users to order drinks and other food products withoutlining up at a counter to make the order. Users may choose to allow theapp 140 to accept push notifications in order to let the user know theirorder is ready for pickup or to receive other announcements from thehospitality establishment 102. The system 100 thereby beneficiallyleverages the push notification capabilities of a food serviceapplication 140 to also invite the user to upgrade their Internet accessservice entitlement at the food service location 102.

Although, the above description of FIG. 5 involves the app 140 showingan upgrade screen 580 after the user receives the push notificationmessage, in other embodiments the app 140 may instead cause the webbrowser on the user's mobile device 122 to open the already-existingupgrade web page allowing users to upgrade. In other words, the app 140may simply point the user in the direction of the upgrade process thatis already implemented and available by the HSIA controller 106 at thehospitality establishment 102. This embodiment is beneficial to avoidhaving to duplicate functionality already available by HSIA controller106 in the app 140. As previously mentioned the app 140 may be primarilyutilized to access a service at the hospitality establishment 102totally unrelated to Internet access and it may be undesirable toduplicate Internet upgrade functionality within the app 140 is someapplications. Since the upgrade functionality already exists in HSIAcontroller 108 and a problem is that users just don't know the URL ofthe upgrade web page at the time they may want to upgrade, modifying app140 to simply provide and optionally open this URL for the user in theirweb browser in response to a push notification 916 may greatly increaseupgrade revenue for the establishment 102 with minimal changes to analready-deployed app 140.

In another example, rather than app 140 being primarily utilized toallow users to access other services at the hospitality establishment102, app 140 may instead be dedicated to the Internet service at thehospitality establishment 102. For example, the app 140 may have asingle function of providing an Internet access control panel that onlyhandles Internet services at a hotel 102 or other establishment. TheInternet dedicated app 140 may be optional such as in the abovedescribed embodiments where users do not need to install or run the app140 in order to access the Internet 120; alternatively, the app 140 maybe mandatory such that users cannot complete the login process within aweb browser and instead need to install and run the app 140 in order tobe authorized for access to the Internet 120.

In the above description, the exemplary user indication of “guest” isutilized to refer to users as it common for customers of a hospitalityestablishment to be referred to as guests. However, it is not arequirement that users must be customers of the hospitalityestablishment and the term “guest” in this description includes otherusers such as current guests in a hotel, people who are attending aconference or meeting in a hotel, staff members at the establishment, orany other person or user who may need or want to access a services at ahospitality establishment. Future guests that have reservations,potential future guests that don't yet have reservations, and otherusers may also be enabled to receive notifications of upgradepossibilities in a similar manner. For example, a demonstration of thetechnology may be available in a hotel lobby and all users would be ableto try out the system 100.

It should also be noted that although portable devices that are easilycarried are anticipated by the inventors as being particularly useful,it is not a strict requirement that the mobile devices 122 be easilycarried. Other larger devices such as desktop computers that are alsocapable of being moved may act as mobile devices 122 in conjunction withthe invention.

Although the invention has been described as being utilized at a hotelfor illustration purposes, the present invention is equally applicableto any hospitality related location or service wishing to providenotifications inviting users to upgrade Internet service entitlementssuch as at hotspot locations including but not limited to hotels,motels, resorts, hospitals, apartment/townhouse complexes, restaurants,retirement centers, cruise ships, busses, airlines, airports, shoppingcenters, passenger trains, libraries, coffee shops, hotspots, etc.Additionally, the invention is applicable outside of the hospitalityindustry in addition to the above-described hospitality examples.

Furthermore, although the above examples have primarily focused on theservice that is being upgraded being Internet access, in otherembodiments, system 100 may notify and invite users to upgrade any othertype of service. Any device at the hospitality establishment 102 maynotify app server 108 of an upgrade possibility in order to cause a pushnotification to be sent down to the user's mobile devices 122 along withother types of messages such as SMS and/or email to the user's accountsand optionally displayed on the user's in-room display devices 116.

The various separate configurations, elements, features, embodiment, andmodules of the invention described above may be integrated or combined.One or more processors may operate pursuant to instructions stored on atangible, non-transitory computer-readable medium to perform theabove-described functions. Examples of the computer-readable mediuminclude optical media (e.g., CD-ROM, DVD discs), magnetic media (e.g.,hard drives, diskettes), and other electronically readable media such asflash storage devices and memory devices (e.g., RAM, ROM). Thecomputer-readable medium may be local to the computer executing theinstructions, or may be remote to this computer such as when coupled tothe computer via a computer network such as the Internet 120. The one ormore processors may be included in a general-purpose or specific-purposecomputer that becomes a special purpose machine performing theabove-described functions as a result of executing the instructions. Inanother example, rather than being software modules executed by one ormore processors, the described functionality may be implemented ashardware modules configured to perform the above-described functions.Functions of single modules and devices as described may be separatedinto multiple units, or the functions of multiple modules and devicesmay be combined into a single unit. Unless otherwise specified, featuresdescribed may be implemented in hardware or software according todifferent design requirements. In addition to a dedicated physicalcomputing device, the word “server” may also mean a service daemon on asingle computer, virtual computer, or shared physical computer orcomputers, for example. Additionally, all combinations and permutationsof the above described features and configurations may be utilized inconjunction with the invention.

What is claimed is:
 1. A system for associating a mobile device operatedby a guest to a media device for remotely initiating media devicefunctionality at a hospitality establishment, the system comprising: aplurality of display devices; a plurality of media devices; and one ormore computing processors; wherein, by executing a plurality of softwareinstructions loaded from a storage device, the one or more computingprocessors are configured to: cause a QR code to be displayed on adisplay device of the plurality of display devices, the QR code encodingtherein a uniform resource locator (URL) including an address portionbeing an application store website at which a software application foruse at the hospitality establishment can be downloaded by the mobiledevice, an application identifier parameter specifying an applicationidentifier for uniquely identifying the software application from aplurality of other software applications provided by the applicationstore website, and a connect code parameter specifying a connect codefor uniquely identifying a media device with which the mobile device isto be associated from the plurality of media devices at the hospitalityestablishment; receive the connect code from the mobile device, wherein,when a camera of the mobile device scans the QR code prior toinstallation of the software application, the mobile device is directedto the uniform resource locator (URL) to obtain the software applicationand the application store website ignores the connect code parameter;and, when the camera of the mobile device scans the QR code afterinstallation of the software application, the software applicationprevents redirecting the mobile device to the application store websiteand instead attempts authentication by sending the connect code to theone or more computing processors; determine the media device with whichthe mobile device is to be associated according to the connect codereceived from the mobile device; and enable remote control functionalitybetween the mobile device and the media device, whereby the mobiledevice can thereafter remotely initiate one or more functions of themedia device.
 2. The system of claim 1, wherein the display device onwhich the QR code is displayed is located within a particular guest roomof the hospitality establishment and the connect code is unique to theparticular guest room.
 3. The system of claim 1, wherein the displaydevice on which the QR code is displayed is coupled to the media devicewith which the mobile device is to be associated and the connect code isunique to the media device.
 4. The system of claim 1, wherein the one ormore computing processors are within a control server coupled to themedia devices via a first local area network installed at thehospitality establishment.
 5. The system of claim 4, wherein the controlserver is further coupled to the mobile device via a second local areanetwork installed at the hospitality establishment.
 6. The system ofclaim 1, wherein the one or more computing processors are within aset-top box coupled to the display device.
 7. The system of claim 1,wherein the media device with which the mobile device is to beassociated is integrated within the display device on which the QR codeis displayed.
 8. A control server for associating a mobile deviceoperated by a guest to a media device for remotely initiating mediadevice functionality at a hospitality establishment, the control servercomprising: one or more network interfaces for coupling to a pluralityof display devices, a plurality of media devices, and the mobile device;one or more storage devices storing therein a plurality of softwareinstructions; and one or more processors coupled to the one or morenetwork interfaces and the one or more storage devices; wherein, byexecuting the plurality of software instructions loaded from the storagedevice, the one or more processors are configured to: cause a QR code tobe displayed on a display device of the plurality of display devices,the QR code encoding therein a uniform resource locator (URL) includingan address portion being an application store website at which asoftware application for use at the hospitality establishment can bedownloaded by the mobile device, an application identifier parameterspecifying an application identifier for uniquely identifying thesoftware application from a plurality of other software applicationsprovided by the application store website, and a connect code parameterspecifying a connect code for uniquely identifying a media device withwhich the mobile device is to be associated from the plurality of mediadevices at the hospitality establishment; receive the connect code fromthe mobile device, wherein, when a camera of the mobile device scans theQR code prior to installation of the software application, the mobiledevice is directed to the uniform resource locator (URL) to obtain thesoftware application and the application store website ignores theconnect code parameter; and, when the camera of the mobile device scansthe QR code after installation of the software application, the softwareapplication prevents redirecting the mobile device to the applicationstore website and instead attempts authentication by sending the connectcode to the control server; determine the media device with which themobile device is to be associated according to the connect code receivedfrom the mobile device; and enable remote control functionality betweenthe mobile device and the media device, whereby the mobile device canthereafter remotely initiate one or more functions of the media device.9. The control server of claim 8, wherein the display device on whichthe QR code is displayed is located within a particular guest room ofthe hospitality establishment and the connect code is unique to theparticular guest room.
 10. The control server of claim 8, wherein thedisplay device on which the QR code is displayed is coupled to the mediadevice with which the mobile device is to be associated and the connectcode is unique to the media device.
 11. The control server of claim 8,wherein the control server is coupled to the media devices via a firstlocal area network installed at the hospitality establishment.
 12. Thecontrol server of claim 11, wherein the control server is furthercoupled to the mobile device via a second local area network installedat the hospitality establishment.
 13. The control server of claim 8,wherein the media device with which the mobile device is to beassociated is integrated within the display device on which the QR codeis displayed.
 14. A method of associating a mobile device operated by aguest to a media device for remotely initiating media devicefunctionality at a hospitality establishment, the method being performedby one or more computing processors and comprising: causing a QR code tobe displayed on a display device of a plurality of display devices atthe hospitality establishment, the QR code encoding therein a uniformresource locator (URL) including an address portion being an applicationstore website at which a software application for use at the hospitalityestablishment can be downloaded by the mobile device, an applicationidentifier parameter specifying an application identifier for uniquelyidentifying the software application from a plurality of other softwareapplications provided by the application store website, and a connectcode parameter specifying a connect code for uniquely identifying amedia device with which the mobile device is to be associated from theplurality of media devices at the hospitality establishment; receivingthe connect code from the mobile device, wherein, when a camera of themobile device scans the QR code prior to installation of the softwareapplication, the mobile device is directed to the uniform resourcelocator (URL) to obtain the software application and the applicationstore website ignores the connect code parameter; and, when the cameraof the mobile device scans the QR code after installation of thesoftware application, the software application prevents redirecting themobile device to the application store website and instead attemptsauthentication by sending the connect code to the one or more computingprocessors; determining the media device with which the mobile device isto be associated according to the connect code received from the mobiledevice; and enabling remote control functionality between the mobiledevice and the media device, whereby the mobile device can thereafterremotely initiate one or more functions of the media device.
 15. Themethod of claim 14, wherein the display device on which the QR code isdisplayed is located within a particular guest room of the hospitalityestablishment and the connect code is unique to the particular guestroom.
 16. The method of claim 14, wherein the display device on whichthe QR code is displayed is coupled to the media device with which themobile device is to be associated and the connect code is unique to themedia device.
 17. The method of claim 14, wherein the computing serveris coupled to the media devices via a first local area network installedat the hospitality establishment.
 18. The method of claim 17, whereinthe computing server is further coupled to the mobile device via asecond local area network installed at the hospitality establishment.19. The method of claim 14, wherein the one or more computing processorsare within a set-top box coupled to the display device.
 20. The methodof claim 14, wherein the media device with which the mobile device is tobe associated is integrated within the display device on which the QRcode is displayed.